diff --git a/src/org/org_text_delimiter.nim b/src/org/org_text_delimiter.nim new file mode 100644 index 0000000..0a8ed09 --- /dev/null +++ b/src/org/org_text_delimiter.nim @@ -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()