From d786225bac03d1173b65c1d2664edeb77c9597eb Mon Sep 17 00:00:00 2001 From: Florian Schroedl Date: Thu, 20 Jan 2022 17:00:00 +0100 Subject: [PATCH] Add link parser to text --- src/org/org_text_delimiter.nim | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/org/org_text_delimiter.nim b/src/org/org_text_delimiter.nim index b7c5069..0cb8365 100644 --- a/src/org/org_text_delimiter.nim +++ b/src/org/org_text_delimiter.nim @@ -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,