This commit is contained in:
Florian Schroedl
2023-10-04 15:02:49 +02:00
parent 065b298d1f
commit 6e50d9f013
3 changed files with 25 additions and 5 deletions

View File

@@ -35,6 +35,8 @@ import fusion/matching
# with default OrgBuilder -> OrgBuilder
# until Eol
let lineParser = anyUntil(newlineOrEol)
let listTypesParser = choice(@[
ch('-'),
ch('+'),
@@ -71,7 +73,6 @@ let buildListItem = proc(builder: OrgBuilder): OrgBuilderResult {.closure.} =
listBulletType: '-',
listContent: tryTokenizeInline(content.tokens.tokensToString()).unsafeGet().tree
)
# echo treeResult
OrgBuilderResult.ok(OrgBuilder((
parser: content,
@@ -100,11 +101,21 @@ proc buildParagraph*(
if builderResult.isOk():
found = true
builderAcc = builderResult
break
if not found:
builderAcc
.flatMap((builder: OrgBuilder) => tryTokenize(
builder = builder,
builderFns = styledTextTokenizers,
defaultTokenizerFn = tryTokenizeRawText,
))
.fold(
OrgInlineBuilder
)
builderAcc = OrgBuilderResult.err(OrgBuilderError(
kind: builderError,
parser: builderAcc.fold(
@@ -123,5 +134,5 @@ when isMainModule:
block testParsers:
let test = initOrgBuilder("""- List item
1. List item
- random stuff""").flatMap((builder: OrgBuilder) => builder.buildParagraph(paragraphBuilders))
random stuff""").flatMap((builder: OrgBuilder) => builder.buildParagraph(paragraphBuilders))
echo test