Convert link to option

This commit is contained in:
Florian Schroedl
2022-05-04 17:00:00 +02:00
parent 4d496d5598
commit 6be167fa9c
3 changed files with 13 additions and 8 deletions

View File

@@ -9,7 +9,10 @@ import
import sequtils
import options
import strformat
import fp/maybe
import fp/[
maybe,
option,
]
import ../../org/org_block_heading
import ../../org/org_builder
import ../../org/org_types

View File

@@ -3,7 +3,10 @@ import std/sugar
import std/collections/sequtils
import results
import fusion/matching
import fp/maybe
import fp/[
maybe,
option,
]
import ./org_builder
import ./org_types
import ../utils/fp
@@ -36,7 +39,7 @@ let linkParser* = proc(parser: Parser): ParserResult {.closure.} =
else:
linkValue
proc linkStringifier*(linkUrl: string, linkDescription: Maybe[string]): string =
proc linkStringifier*(linkUrl: string, linkDescription: Option[string]): string =
case (linkUrl, linkDescription):
of (@linkUrl, Some(@linkDescription)):
return &"[[{linkUrl}][{linkDescription}]]"
@@ -45,7 +48,7 @@ proc linkStringifier*(linkUrl: string, linkDescription: Maybe[string]): string =
func linkTokenizer*(parserTokens: seq[ParserToken]): OrgInlineBuilderT =
[@linkUrl, @linkDescription] := parserTokens.map(tokenStringValue)
let maybeLinkDescription = linkDescription.just().notEmpty()
let maybeLinkDescription = linkDescription.some().notEmpty()
return OrgInlineBuilderT(
kind: orgLink,
content: linkStringifier(linkUrl, maybeLinkDescription),

View File

@@ -1,12 +1,11 @@
import std/[
options,
sequtils,
strformat,
strutils,
sugar,
]
import fp/[
maybe,
option,
]
import ../utils/printers
@@ -47,7 +46,7 @@ type
# Links
of orgLink:
linkUrl*: string
linkDescription*: Maybe[string]
linkDescription*: Option[string]
## OrgInlineBlock.PrettyPrinters
@@ -168,7 +167,7 @@ when isMainModule:
OrgInlineBlock(
kind: orgLink,
linkUrl: "https://placeholder.com",
linkDescription: "Placeholder".just(),
linkDescription: "Placeholder".some(),
),
],
),