From e99c7352b62f7293d8eea2d15e867c0926697ecb Mon Sep 17 00:00:00 2001 From: Florian Schroedl Date: Thu, 20 Jan 2022 17:00:00 +0100 Subject: [PATCH] Fix types for builder seq --- src/org/org_text_link.nim | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/org/org_text_link.nim b/src/org/org_text_link.nim index 1247945..3062e9e 100644 --- a/src/org/org_text_link.nim +++ b/src/org/org_text_link.nim @@ -36,7 +36,7 @@ let linkParser* = proc(parser: Parser): ParserResult {.closure.} = else: linkValue -func linkStringifier*(linkUrl: string, linkDescription: Maybe[string]): string = +proc linkStringifier*(linkUrl: string, linkDescription: Maybe[string]): string = case (linkUrl, linkDescription): of (@linkUrl, Some(@linkDescription)): return &"[[{linkUrl}][{linkDescription}]]" @@ -46,19 +46,21 @@ func linkStringifier*(linkUrl: string, linkDescription: Maybe[string]): string = func linkTokenizer*(parserTokens: seq[ParserToken]): OrgBuilderT = [@linkUrl, @linkDescription] := parserTokens.map(tokenStringValue) let maybeLinkDescription = linkDescription.just().notEmpty() - OrgBuilderT( + return OrgBuilderT( kind: orgLink, content: linkStringifier(linkUrl, maybeLinkDescription), linkUrl: linkUrl, linkDescription: maybeLinkDescription, ) +let linkTokenizerSeq* = proc(parserTokens: seq[ParserToken]): seq[OrgBuilderT] {.closure.} = + return @[linkTokenizer(parserTokens)] when isMainModule: # echo initParser("[[https://florianschroedl.com]]").linkParser() echo initParser("[[https://florianschroedl.com][My blog]]") .linkParser() .foldTokens( - onError = (x) => nothing(OrgBuilderT), - onSuccess = xs => just(linkTokenizer(xs)), + onError = (x) => newSeq[OrgBuilderT](), + onSuccess = proc(xs: seq[ParserToken]): seq[OrgBuilderT] = linkTokenizerSeq(xs), )