diff --git a/docs/syntax.md b/docs/syntax.md index 84dc9655ad5d86039d9a343090aac62df37da163..676fdfd6390d04b38fe3fe305b14cf5641fc54b9 100644 --- a/docs/syntax.md +++ b/docs/syntax.md @@ -607,24 +607,6 @@ $[shake.speed=1s ðŸ®] $[flip.h,v Misskeyã§Fediverseã®ä¸–界ãŒåºƒãŒã‚Šã¾ã™] ``` -æ§‹æ–‡2: -**廃æ¢äºˆå®šã®æ§‹æ–‡ã€‚ä»£æ›¿ã®æ§‹æ–‡(æ§‹æ–‡1)ãŒç”¨æ„ã•れã¦ã„ã¾ã™ã€‚** -``` -[shake ðŸ®] -``` - -``` -[spin.alternate ðŸ®] -``` - -``` -[shake.speed=1s ðŸ®] -``` - -``` -[flip.h,v Misskeyã§Fediverseã®ä¸–界ãŒåºƒãŒã‚Šã¾ã™] -``` - ## 詳細 - 内容ã«ã¯å†åº¦InlineParserã‚’é©ç”¨ã™ã‚‹ã€‚ - 内容ã«ã¯æ”¹è¡Œã‚‚å«ã‚ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™ã€‚ diff --git a/src/internal/parser.pegjs b/src/internal/parser.pegjs index 7abc8deb28bc2e12b0594c18a09f00f1265a8c14..9b6e3ac4c4e1770af13b0e7b4bccd594f38dedf2 100644 --- a/src/internal/parser.pegjs +++ b/src/internal/parser.pegjs @@ -92,9 +92,8 @@ full / mention / hashtag / url - / fnVer2 + / fn / link - / fnVer1 / search // block / inlineText @@ -111,9 +110,8 @@ inline / mention / hashtag / url - / fnVer2 + / fn / link - / fnVer1 / inlineText plain @@ -415,15 +413,8 @@ linkUrl // inline: fn -fnVer1 - = "[" name:$([a-z0-9_]i)+ args:fnArgs? _ content:fnContentPart+ "]" -{ - args = args || {}; - return FN(name, args, mergeText(content)); -} - -fnVer2 - = "$[" name:$([a-z0-9_]i)+ args:fnArgs? _ content:fnContentPart+ "]" +fn + = "$[" name:$([a-z0-9_]i)+ args:fnArgs? _ content:(!("]") @inline)+ "]" { args = args || {}; return FN(name, args, mergeText(content)); @@ -449,9 +440,6 @@ fnArg return { k: k, v: true }; } -fnContentPart - = !("]") @inline - // inline: text inlineText diff --git a/test/parser.ts b/test/parser.ts index 048084c0a1b59581f9578bb33e4aab8c615ca18b..b36e505369d4650d23da9b553372e0b69a98859f 100644 --- a/test/parser.ts +++ b/test/parser.ts @@ -1018,41 +1018,7 @@ hoge`; }); }); - describe('fn v1', () => { - it('basic', () => { - const input = '[tada abc]'; - const output = [ - FN('tada', { }, [ - TEXT('abc') - ]) - ]; - 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('nest', () => { - const input = '[spin.speed=1.1s [shake a]]'; - const output = [ - FN('spin', { speed: '1.1s' }, [ - FN('shake', { }, [ - TEXT('a') - ]) - ]) - ]; - assert.deepStrictEqual(mfm.parse(input), output); - }); - }); - - describe('fn v2', () => { + describe('fn', () => { it('basic', () => { const input = '$[tada abc]'; const output = [ @@ -1090,7 +1056,7 @@ hoge`; const input = `before <center> -Hello [tada everynyan! 🎉] +Hello $[tada everynyan! 🎉] I'm @ai, A bot of misskey!