diff --git a/src_v2/org/org_builder_link.nim b/src_v2/org/org_builder_link.nim index 62d2f1b..adb07bc 100644 --- a/src_v2/org/org_builder_link.nim +++ b/src_v2/org/org_builder_link.nim @@ -28,8 +28,15 @@ import ../utils/fp # -- Parsers -let linkStartParser* = ignore(str("[[")) + anyUntil(choice(@[str("]["), str("]]")])) + optional(ignore(str("]["))) -let linkEndParser* = anyUntil(str("]]")) + ignore(str("]]")) +let linkStartParser* = following(@[ + ignore(str("[[")), + anyUntil(choice(@[str("]["), str("]]")])), + optional(ignore(str("]["))) +]) +let linkEndParser* = following(@[ + anyUntil(str("]]")), + ignore(str("]]")), +]) let linkParser* = proc(parser: Parser): ParserResult {.closure.} = # Parse an an org link in the `parser` state.