diff --git a/parser/func.go b/parser/func.go index 6b5f5c2..1722d9f 100644 --- a/parser/func.go +++ b/parser/func.go @@ -186,6 +186,13 @@ func (parser *ParsingOperation) parseFuncArguments ( if err != nil { return } output.what, err = parser.parseType() if err != nil { return } + + // skip the default value if we are skimming + if parser.skimming { + err = parser.skipIndentLevel(2) + into.outputs = append(into.outputs, output) + return + } // parse default value if parser.token.Is(lexer.TokenKindNewline) { diff --git a/parser/skim_test.go b/parser/skim_test.go index e00d48e..44eed97 100644 --- a/parser/skim_test.go +++ b/parser/skim_test.go @@ -21,6 +21,7 @@ func ro fComplexFunction external func ro gExternalFunction > x:Int + < arr:Int --- external `, test) diff --git a/tests/parser/skim/main.arf b/tests/parser/skim/main.arf index d5d389f..eefef04 100644 --- a/tests/parser/skim/main.arf +++ b/tests/parser/skim/main.arf @@ -34,5 +34,9 @@ func ro fComplexFunction func ro gExternalFunction > x:Int + < arr:Int 5 + 34908 + 39 3498 + 38 219 --- external