Add link parser to text

This commit is contained in:
Florian Schroedl
2022-01-20 17:00:00 +01:00
parent e99c7352b6
commit d786225bac

View File

@@ -6,6 +6,7 @@ import results
import fusion/matching
import ./org_types
import ./org_builder
import ./org_text_link
import ../utils/fp
import ../parser/parser_internals
import ../parser/parser_types
@@ -26,13 +27,16 @@ let verbatimTokenizer* = textTokenizer(orgVerbatimText)
let codeTokenizer* = textTokenizer(orgCodeText)
let strikeThroughTokenizer* = textTokenizer(orgStrikeThroughText)
let tok = linkTokenizerSeq
let orgStyledTextBuilders = @[
(boldParser, boldTokenizer),
(italicParser, italicTokenizer),
(underlineParser, underlineTokenizer),
(verbatimParser, verbatimTokenizer),
(codeParser, codeTokenizer),
(strikeThroughParser, strikeThroughTokenizer),
(boldParser, boldTokenizer),
(italicParser, italicTokenizer),
(underlineParser, underlineTokenizer),
(verbatimParser, verbatimTokenizer),
(codeParser, codeTokenizer),
(strikeThroughParser, strikeThroughTokenizer),
(linkParser, linkTokenizerSeq),
]
proc makeRawTokenOrEmpty(tokens: seq[ParserToken]): seq[OrgBuilderT] =
@@ -44,7 +48,7 @@ proc makeRawTokenOrEmpty(tokens: seq[ParserToken]): seq[OrgBuilderT] =
when isMainModule:
let test = initOrgBuilder(
"Regular *bold* /italic/ _underline_ =verbatim= ~code~ +strikethrough+"
"Regular *bold* [[https://some.url]] /italic/ _underline_ =verbatim= ~code~ +strikethrough+ [[https://some.url][title]]"
)
.flatMap((builder: OrgBuilder) => tryParseBuild(
builder = builder,