From 085325e65fa47c9dd9f2d261faeb7775f9f2486f Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 27 Jan 2019 13:40:38 +0900 Subject: [PATCH] [MFM] Improve title syntax detection --- CHANGELOG.md | 1 + src/mfm/parser.ts | 1 + test/mfm.ts | 7 +++++++ 3 files changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b06c3f63c6..6325663fcd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ unreleased * 管理画面からリモートユーザーの情報を更新できるように * 引用投稿を削除したとき単なるRenoteとしてタイムラインに残る問題を修正 * イタリック構文の判定の改善 +* タイトル構文の判定の改善 * テーマが反映されないことがある問題を修正 * ホームにフォロワー限定投稿が表示されない問題を修正 * 返信一覧を取得すると非公開投稿も取得されてしまう問題を修正 diff --git a/src/mfm/parser.ts b/src/mfm/parser.ts index b86e1d5559..5572e26f88 100644 --- a/src/mfm/parser.ts +++ b/src/mfm/parser.ts @@ -361,6 +361,7 @@ const mfm = P.createLanguage({ const match = text.match(/^((【|\[)(.+?)(】|]))(\n|$)/); if (!match) return P.makeFailure(i, 'not a title'); const q = match[1].trim().substring(1, match[1].length - 1); + if (q.includes('】')) return P.makeFailure(i, 'not a title'); const contents = P.alt( r.big, r.small, diff --git a/test/mfm.ts b/test/mfm.ts index a4b4a13973..2124f592fe 100644 --- a/test/mfm.ts +++ b/test/mfm.ts @@ -894,6 +894,13 @@ describe('MFM', () => { text('after') ]); }); + + it('ignore multiple title blocks', () => { + const tokens = analyze('【foo】bar【baz】'); + assert.deepStrictEqual(tokens, [ + text('【foo】bar【baz】') + ]); + }); }); describe('center', () => {