diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2019-01-17 09:33:08 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2019-01-17 09:33:08 +0900 |
| commit | cb6a4037f2f6c084ccccd2acb1826d2b2e7113b4 (patch) | |
| tree | ba5dc3408bebd7a2dae2044681d5098fdaa1b8ea | |
| parent | [MFM] Better hashtag parsing: Ignore double quotation (diff) | |
| download | misskey-cb6a4037f2f6c084ccccd2acb1826d2b2e7113b4.tar.gz misskey-cb6a4037f2f6c084ccccd2acb1826d2b2e7113b4.tar.bz2 misskey-cb6a4037f2f6c084ccccd2acb1826d2b2e7113b4.zip | |
[MFM] Better hashtag parsing: Ignore single quotation
| -rw-r--r-- | src/mfm/parser.ts | 2 | ||||
| -rw-r--r-- | test/mfm.ts | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/mfm/parser.ts b/src/mfm/parser.ts index 2f1608832e..7dc97aa9f4 100644 --- a/src/mfm/parser.ts +++ b/src/mfm/parser.ts @@ -205,7 +205,7 @@ const mfm = P.createLanguage({ hashtag: r => P((input, i) => { const text = input.substr(i); - const match = text.match(/^#([^\s\.,!\?"#:]+)/i); + const match = text.match(/^#([^\s\.,!\?'"#:]+)/i); if (!match) return P.makeFailure(i, 'not a hashtag'); let hashtag = match[1]; hashtag = removeOrphanedBrackets(hashtag); diff --git a/test/mfm.ts b/test/mfm.ts index 60fd4d62f8..4e922cab29 100644 --- a/test/mfm.ts +++ b/test/mfm.ts @@ -365,6 +365,14 @@ describe('MFM', () => { ]); }); + it('ignore single quote', () => { + const tokens = analyze('#foo\''); + assert.deepStrictEqual(tokens, [ + leaf('hashtag', { hashtag: 'foo' }), + text('\''), + ]); + }); + it('ignore double quote', () => { const tokens = analyze('#foo"'); assert.deepStrictEqual(tokens, [ |