Add double underscore syntax for bold markdown (#3733)

* Add double underscore syntax for bold markdown
see https://github.com/syuilo/misskey/pull/3732
this allows bold text through either **text** or __text__

* Add tests for underscore bold mfm syntax
This commit is contained in:
ibrokemypie 2019-01-20 20:00:55 +11:00 committed by syuilo
parent c29fa45c65
commit 57b4b20bb6
2 changed files with 24 additions and 1 deletions

View File

@ -154,7 +154,7 @@ const mfm = P.createLanguage({
//#region Bold
bold: r =>
P.regexp(/\*\*([\s\S]+?)\*\*/, 1)
P.regexp(/(\*\*|__)([\s\S]+?)\1/, 2)
.map(x => createTree('bold', P.alt(
r.strike,
r.italic,

View File

@ -177,6 +177,29 @@ describe('MFM', () => {
text('bar'),
]);
});
it('with underscores', () => {
const tokens = analyze('__foo__');
assert.deepStrictEqual(tokens, [
tree('bold', [
text('foo')
], {}),
]);
});
it('mixed syntax', () => {
const tokens = analyze('**foo__');
assert.deepStrictEqual(tokens, [
text('**foo__'),
]);
});
it('mixed syntax', () => {
const tokens = analyze('__foo**');
assert.deepStrictEqual(tokens, [
text('__foo**'),
]);
});
});
it('big', () => {