[MFM] Better inline code parse

This commit is contained in:
syuilo 2018-11-21 12:55:15 +09:00
parent 222efd6061
commit 12aa24d354
2 changed files with 22 additions and 6 deletions

View File

@ -119,7 +119,7 @@ const mfm = P.createLanguage({
//#region Inline code
inlineCode: r =>
P.regexp(/`(.+?)`/, 1)
P.regexp(/`([^´\n]+?)`/, 1)
.map(x => makeNode('inlineCode', { code: x })),
//#endregion

View File

@ -469,11 +469,27 @@ describe('Text', () => {
});
});
it('inline code', () => {
const tokens = analyze('`var x = "Strawberry Pasta";`');
assert.deepEqual([
node('inlineCode', { code: 'var x = "Strawberry Pasta";' })
], tokens);
describe('inline code', () => {
it('simple', () => {
const tokens = analyze('`var x = "Strawberry Pasta";`');
assert.deepEqual([
node('inlineCode', { code: 'var x = "Strawberry Pasta";' })
], tokens);
});
it('disallow line break', () => {
const tokens = analyze('`foo\nbar`');
assert.deepEqual([
text('`foo\nbar`')
], tokens);
});
it('disallow ´', () => {
const tokens = analyze('`foo´bar`');
assert.deepEqual([
text('`foo´bar`')
], tokens);
});
});
it('math', () => {