diff --git a/src/parser.pegjs b/src/parser.pegjs index eef222ce5d2776009e6bf4b132775192fc8111cd..555ec654bbf5c77547d57868b5eed90c5534c538 100644 --- a/src/parser.pegjs +++ b/src/parser.pegjs @@ -371,7 +371,7 @@ fnArgs } fnArg - = k:$([a-z0-9_]i)+ "=" v:$([a-z0-9_]i)+ + = k:$([a-z0-9_]i)+ "=" v:$([a-z0-9_.]i)+ { return { k, v }; } diff --git a/test/parser.ts b/test/parser.ts index c889ec54adc8dc4fe9b565a2292c61fba329da1e..fc29f1a7ebd3851382e6a005fa05b9ffde0365ca 100644 --- a/test/parser.ts +++ b/test/parser.ts @@ -474,6 +474,16 @@ describe('parser', () => { ]; assert.deepStrictEqual(mfm.parse(input), output); }); + + it('with a string argument', () => { + const input = '[spin.speed=1.1s a]'; + const output = [ + FN('spin', { speed: '1.1s' }, [ + TEXT('a') + ]) + ]; + assert.deepStrictEqual(mfm.parse(input), output); + }); }); it('composite', () => {