summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2019-02-06 00:05:26 +0900
committersyuilo <syuilotan@yahoo.co.jp>2019-02-06 00:05:26 +0900
commit31929dad61cb72b367d1ffe1de9b1fd05a52d80a (patch)
tree748d5bf0807a31d94ae08ddc20f3c8c51712f0b5
parentAdd logs (diff)
downloadmisskey-31929dad61cb72b367d1ffe1de9b1fd05a52d80a.tar.gz
misskey-31929dad61cb72b367d1ffe1de9b1fd05a52d80a.tar.bz2
misskey-31929dad61cb72b367d1ffe1de9b1fd05a52d80a.zip
[MFM] Better hashtag parsing: Ignore slash
-rw-r--r--src/mfm/language.ts2
-rw-r--r--test/mfm.ts8
2 files changed, 9 insertions, 1 deletions
diff --git a/src/mfm/language.ts b/src/mfm/language.ts
index 8f35d443dc..bfb0f249c2 100644
--- a/src/mfm/language.ts
+++ b/src/mfm/language.ts
@@ -142,7 +142,7 @@ export const mfmLanguage = P.createLanguage({
},
hashtag: () => 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 8d5496a5f8..7db94b45e1 100644
--- a/test/mfm.ts
+++ b/test/mfm.ts
@@ -611,6 +611,14 @@ describe('MFM', () => {
text('(#123)'),
]);
});
+
+ it('ignore slash', () => {
+ const tokens = parse('#foo/bar');
+ assert.deepStrictEqual(tokens, [
+ leaf('hashtag', { hashtag: 'foo' }),
+ text('/bar'),
+ ]);
+ });
});
describe('quote', () => {