diff --git a/src/parser/builder_api.nim b/src/parser/builder_api.nim index c95888f..d0c35a7 100644 --- a/src/parser/builder_api.nim +++ b/src/parser/builder_api.nim @@ -15,6 +15,7 @@ proc tryParseBuild*[T]( ]], defaultBuilderFn: seq[ParserToken] -> seq[T], stopAtParserFn = newline, + concatFn = concat[T], ): BuilderResult[T] = ## Parse remaining text in `builder` by going checking in the `builderFns` list for a sucessful `parserFn`. ## The `ok` `parserFn` result will be merged into the `Builder[T].tree` by using the `concatFn`. @@ -50,7 +51,7 @@ proc tryParseBuild*[T]( parserAcc = parseResult.map(emptyTokens) builderAcc = builder.initBuilder( okParser, - concat( + concatFn( builderAcc.tree, defaultBuilderTokens, builderFn(okParser.tokens), @@ -69,7 +70,7 @@ proc tryParseBuild*[T]( BuilderResult[T].ok(builder.initBuilder( builderAcc.parser, - concat( + concatFn( builderAcc.tree, defaultBuilderTokens, ),