Skip to content

Commit d059e1b

Browse files
committed
Allow whitespace within function application parentheses
1 parent fa8423c commit d059e1b

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

src/end-to-end.test.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,4 +216,12 @@ testCases(endToEnd, code => code)('end-to-end tests', [
216216
value: 'true',
217217
}),
218218
],
219+
[
220+
`:integer.add(
221+
:integer.subtract(1)(2)
222+
)(
223+
:integer.subtract(2)(4)
224+
)`,
225+
either.makeRight('3'),
226+
],
219227
])

src/language/parsing/molecule.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,14 +90,16 @@ const sugaredApply: Parser<PartialMolecule> = parser.map(
9090
parser.oneOrMore(
9191
parser.sequence([
9292
parser.literal('('),
93+
optional(omit(whitespace)),
9394
parser.lazy(() => propertyValue),
95+
optional(omit(whitespace)),
9496
parser.literal(')'),
9597
]),
9698
),
9799
]),
98100
([f, multipleArguments]) =>
99101
multipleArguments.reduce<PartialMolecule>(
100-
(expression, [_1, argument, _2]) => ({
102+
(expression, [_1, _2, argument, _3, _4]) => ({
101103
0: '@apply',
102104
function: expression,
103105
argument,

0 commit comments

Comments
 (0)