跳转至

语法高亮

预计阅读时长 : 3 分钟

虽然本质上是纯文本,但 Markdown 支持特定语法,渲染之后可以呈现出不同的样式。因此通过高亮,可以更方便地识别和区分不同的语法元素,对于熟练使用者而言,可以大大提高写作效率。

参考资料

Cursor 的语法高亮,主要是通过 TextMate ⧉ 语法来实现的。关于 TextMate 语法的详细说明,可以参考 TextMate 语法简介 ⧉

语法规则
"timeline": {
    "begin": "(::timeline::)",
    "end": "(::/timeline::)",
    "beginCaptures": {
        "1": {
            "name": "keyword.control"
        }
    },
    "endCaptures": {
        "1": {
            "name": "keyword.control"
        }
    },
    "patterns": [
        {
            "match": "^\\s*-?\\s*(title|content|icon|sub_title)\\s*:",
            "captures": {
                "1": {
                    "name": "string"
                }
            }
        }
    ]
}

在具体的实现上,开发一个 Cursor 语言扩展,是实现语法高亮最优雅的方式。在搭好了扩展开发的脚手架之后,按照 VS Code 语法高亮扩展开发简要指南 ⧉ 中介绍的流程,其实难度也并不大。

开发中要注意的详细细节,可以参考 官方文档社区中文版语言扩展 ⧉ 中的介绍。

MkDocs 语法高亮

不得不说,我的确是不折腾就要死星人。为了能够把 MkDocs 的写作体验做到极致,专门为了 MkDocs 的语法高亮写了一个扩展……

MkDocs Syntax Highlight ⧉ 中,主要是增补了第三方插件的语法高亮。和之前的多个插件一起配合,基本上完成了对所有常用语法的覆盖。

  • neoteroi 全部语法高亮,包括 Timeline、Cards、Gantt、Spantable [2024-10-03]
  • Keys 语法高亮 [2024-10-03]
  • Content Tab 语法高亮 [2024-10-03]
  • Markmap 语法高亮 [2024-10-03]
  • Progressbar 语法高亮 [2024-10-03]