Finish restore of link parser
This commit is contained in:
@@ -7,8 +7,8 @@ import fp/[
|
||||
]
|
||||
import ./org_types
|
||||
import ./org_builder_api
|
||||
import ./org_builder_link.nim
|
||||
import ../parser/parser
|
||||
# import ./org_text_link
|
||||
|
||||
# -- Parsers
|
||||
|
||||
@@ -37,7 +37,7 @@ let styledTextTokenizers = @[
|
||||
(verbatimParser, verbatimTokenizer),
|
||||
(codeParser, codeTokenizer),
|
||||
(strikeThroughParser, strikeThroughTokenizer),
|
||||
# (linkParser, linkTokenizerSeq),
|
||||
(linkParser, linkTokenizer),
|
||||
]
|
||||
|
||||
proc tryTokenizeRawText(tokens: seq[ParserToken]): seq[OrgInlineBuilderT] =
|
||||
|
||||
@@ -55,14 +55,14 @@ let linkParser* = proc(parser: Parser): ParserResult {.closure.} =
|
||||
|
||||
# -- Tokenizers
|
||||
|
||||
proc linkStringifier*(linkUrl: string, linkDescription: Option[string]): string =
|
||||
func linkStringifier*(linkUrl: string, linkDescription: Option[string]): string =
|
||||
case (linkUrl, linkDescription):
|
||||
of (@linkUrl, Some(@linkDescription)):
|
||||
return &"[[{linkUrl}][{linkDescription}]]"
|
||||
of (@linkUrl, None()):
|
||||
return &"[[{linkUrl}]]"
|
||||
|
||||
proc linkTokenizer*(parserTokens: seq[ParserToken]): seq[OrgInlineBuilderT] =
|
||||
let linkTokenizer* = func(parserTokens: seq[ParserToken]): seq[OrgInlineBuilderT] {.closure.} =
|
||||
[@linkUrl, @linkDescription] := parserTokens.map(toString)
|
||||
let linkDescriptionOption = linkDescription.some().notEmpty()
|
||||
return @[
|
||||
|
||||
Reference in New Issue
Block a user