Skip to content

Commit ea81aef

Browse files
wiki
1 parent 14d5b90 commit ea81aef

File tree

1 file changed

+16
-22
lines changed

1 file changed

+16
-22
lines changed

src/languages/wiki.js

Lines changed: 16 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,13 @@
1-
import { insertBefore } from '../util/language-util.js';
21
import markup from './markup.js';
32

43
/** @type {import('../types.d.ts').LanguageProto<'wiki'>} */
54
export default {
65
id: 'wiki',
76
base: markup,
87
grammar ({ base }) {
9-
const tag = /** @type {GrammarToken} */ (base['tag']);
8+
const tag = /** @type {import('../types.d.ts').GrammarToken} */ (base['tag']);
109

11-
insertBefore(base, 'tag', {
12-
// Prevent highlighting inside <nowiki>, <source> and <pre> tags
13-
'nowiki': {
14-
pattern: /<(nowiki|pre|source)\b[^>]*>[\s\S]*?<\/\1>/i,
15-
inside: {
16-
'tag': {
17-
pattern: /<(?:nowiki|pre|source)\b[^>]*>|<\/(?:nowiki|pre|source)>/i,
18-
inside: tag.inside,
19-
},
20-
},
21-
},
22-
});
23-
24-
return /** @type {Grammar} */ ({
10+
return {
2511
'block-comment': {
2612
pattern: /(^|[^\\])\/\*[\s\S]*?\*\//,
2713
lookbehind: true,
@@ -86,11 +72,19 @@ export default {
8672
},
8773
},
8874
'punctuation': /^(?:\{\||\|\}|\|-|[*#:;!|])|\|\||!!/m,
89-
});
75+
$insert: {
76+
// Prevent highlighting inside <nowiki>, <source> and <pre> tags
77+
'nowiki': {
78+
$before: 'tag',
79+
pattern: /<(nowiki|pre|source)\b[^>]*>[\s\S]*?<\/\1>/i,
80+
inside: {
81+
'tag': {
82+
pattern: /<(?:nowiki|pre|source)\b[^>]*>|<\/(?:nowiki|pre|source)>/i,
83+
inside: tag.inside,
84+
},
85+
},
86+
},
87+
},
88+
};
9089
},
9190
};
92-
93-
/**
94-
* @typedef {import('../types.d.ts').Grammar} Grammar
95-
* @typedef {import('../types.d.ts').GrammarToken} GrammarToken
96-
*/

0 commit comments

Comments
 (0)