使用新元素扩展现有的 VSCode 语法荧光笔
Extending an existing VSCode syntax highlighter with new elements
我正在开发一种新风格的 Markdown,它引入了一些新的语法元素。我已经手动修改了与 VSCode 捆绑在一起的 markdown.tmLanguage.json
文件,以实现一些语法高亮显示。我现在想创建一个 VSCode 扩展,为 Markdown 的语法突出显示提供新增功能。
但是,我真的不认为复制粘贴原始 Markdown 语法高亮逻辑只是为了在上面添加一些东西是个好主意——有没有办法创建一个 .json
语法高亮继承(找不到更好的词)现有语法高亮显示的另一个文件的文件?
例如,这里有一些伪代码:
{
"version": "1.0.0",
"name": "My Markdown Flavor",
"extends": "markdown.tmLanguage.json", // <- PSEUDOCODE
"repository": { "... insert my extensions here ..." }
}
这可能吗?还是我必须复制粘贴整个 markdown.tmLanguage.json
文件?
我想通了——包含 text.html.markdown
作为最后一个模式就足够了:
{
"$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
"name": "Majsdown",
"patterns": [
{
"include": "#majsdown_inject_expression"
},
{
"include": "#majsdown_execute_statement"
},
{
"include": "text.html.markdown"
}
],
// ...
我正在开发一种新风格的 Markdown,它引入了一些新的语法元素。我已经手动修改了与 VSCode 捆绑在一起的 markdown.tmLanguage.json
文件,以实现一些语法高亮显示。我现在想创建一个 VSCode 扩展,为 Markdown 的语法突出显示提供新增功能。
但是,我真的不认为复制粘贴原始 Markdown 语法高亮逻辑只是为了在上面添加一些东西是个好主意——有没有办法创建一个 .json
语法高亮继承(找不到更好的词)现有语法高亮显示的另一个文件的文件?
例如,这里有一些伪代码:
{
"version": "1.0.0",
"name": "My Markdown Flavor",
"extends": "markdown.tmLanguage.json", // <- PSEUDOCODE
"repository": { "... insert my extensions here ..." }
}
这可能吗?还是我必须复制粘贴整个 markdown.tmLanguage.json
文件?
我想通了——包含 text.html.markdown
作为最后一个模式就足够了:
{
"$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
"name": "Majsdown",
"patterns": [
{
"include": "#majsdown_inject_expression"
},
{
"include": "#majsdown_execute_statement"
},
{
"include": "text.html.markdown"
}
],
// ...