问题描述
我正在尝试添加至prismjs的标记语言,以添加新令牌,如下所示:
{something}
^\_______/^
| | `---punctuation
| `---variable
`---punctuation
因此该代码块....
<div class="blah">
{test} {sit_date_ran}
</div>
...将突出显示为...
...这是我尝试过的...
const lang = cloneDeep(languages.markup);
lang.interpolation = {
pattern: /^\{.+?\}$/,inside: {
punctuation: /[\{\}]/,variable: /^\{(?:)\}$/,}
};
解决方法
令牌模式过于贪婪-轻松解决:
lang.interpolation = {
pattern: /\{.+?\}/,inside: {
punctuation: /[\{\}]/g,variable: /\w+/,}
};