Add link parser to text
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user