Add delimiter parser

This commit is contained in:
Florian Schroedl
2022-01-20 17:00:00 +01:00
parent a24f89f7ff
commit 5c3446eeb2

View File

@@ -0,0 +1,14 @@
import std/sugar
import results
import fusion/matching
import ../utils/fp
import ../parser/parser_internals
import ../parser/parser_types
let parseBetweenDelimiter* = proc(delimiterParser: (Parser -> ParserResult)): (Parser -> ParserResult) {.closure.} =
ignore(delimiterParser) + anyUntil(delimiterParser + whitespace) + ignore(delimiterParser)
let boldParser* = parseBetweenDelimiter(ch('*'))
echo initParser("""*foo bar **
""").boldParser()