首页 > 解决方案 > 将令牌添加到现有的 prismjs 语言

问题描述

我正在尝试添加到 prismjs 的标记语言中,以添加新标记,如下所示:

{something}
^\_______/^
|   |     `---punctuation
|   `---variable
`---punctuation

所以这个代码块....

<div class="blah">
  {test} {sit_date_ran}
</div>

... 将突出显示为 ...

强调

...这是我尝试过的...

const lang = cloneDeep(languages.markup);

  lang.interpolation = {
    pattern: /^\{.+?\}$/,
    inside: {
      punctuation: /[\{\}]/,
      variable: /^\{(?:)\}$/,
    }
  };

标签: javascriptsyntax-highlightingprismjs

解决方案


令牌模式太贪心了——很容易解决:

  lang.interpolation = {
    pattern: /\{.+?\}/,
    inside: {
      punctuation: /[\{\}]/g,
      variable: /\w+/,
    }
  };

推荐阅读