问题标签 [tmlanguage]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
86 浏览

visual-studio-code - 如何在 VSCode 语法高亮的 textmate 语言定义中定义模板字符串?

我有一个包含以下组件的脚本:

  • 条款:/[a-z][a-z0-9]*(?:-[a-z0-9]+)*/
  • 字符串:<.+>
  • 数字:\d+

但是,字符串也可以是“模板字符串”,并且在内部具有嵌套的术语/字符串/数字。它们由{...}大括号分隔,如下所示:

如何让 VSCode 正确突出显示模板字符串内大括号内的内容?我用来生成一个项目,它给了我这个<mystring>.tmLanguage.json

但是,我得到了这个:

在此处输入图像描述

我以前从未为编辑器做过语法高亮,所以不确定在哪里真正调试。

0 投票
1 回答
182 浏览

visual-studio-code - 如何为 VSCode (tmlanguage.json) 自定义这个语法高亮的主题?

我有一些关于 VSCode Syntax Highlighting tmLanguage.json 的问题,到目前为止,我在浏览 google 和 VSCode 文档(和 textmate 文档)时无法轻松找到这些问题。所有这些都适用于构建您自己的语言扩展(我曾经yo code生成项目)。其中大多数是关于我的特定用例的。

  1. 您如何指定用户可以覆盖的自定义设置?我想将自动换行指定为我的脚本的可切换选项。
  2. 你如何选择一些范围,所以颜色是你想要的?
  3. 如何正确设置括号的样式?

这就是我所拥有的。

在此处输入图像描述

样式是:

entity.name.type给定我的默认 GitHub 主题,我通过选择 获得了绿松石色。我不希望自定义主题,我只是希望它映射到主题中的一组给定颜色。我想:

  • 黑色的“实体”(条款)
  • 蓝色代表“字符串”
  • “数字”为绿色
  • 标点符号为灰色

我一直在修补一段时间,试图让<text {term}>花括号不为红色,但我无法弄清楚。周围的括号another(123)也应该是灰色的。

我不知道其他语言是如何定义它们的样式的,比如 JSON(我想要的蓝色):

在此处输入图像描述

或其他 JSON:

在此处输入图像描述

红色的逗号也应该是灰色的。

0 投票
1 回答
173 浏览

visual-studio-code - 如何语法突出显示 VSCode tmlanguage.json 中的嵌套项?

如何在下图中突出显示此部分:

基本上,任何嵌套在其他东西中的东西都应该是黑色的,而“父”对象应该是其他颜色(理想情况下是灰色,但可以是任何其他颜色)。我如何告诉它“模式:[#terms.gray,后跟#terms.black 或#strings]”之类的东西?

到目前为止我有这个:

在此处输入图像描述

鉴于此语法:

我可以开始这样做:

但这感觉就像一个黑客,我到处复制代码。

0 投票
1 回答
37 浏览

json - .tmLanguage.json 正则表达式不工作/导致没有语法高亮

我想突出显示“打印”之后的所有内容作为字符串,问题是即使正则表达式理论上应该可以工作,这也不会导致突出显示。

作为一个例子,用vscode 替换并输入,就可以"match":"begin":"somestring"somestring

这是特定部分的 JSON:

regex101.com 示例/测试

0 投票
1 回答
66 浏览

visual-studio-code - VSCode 为自定义语言创建自定义彩色语言语法荧光笔扩展

我们在哪里以及如何更改特定语言的语法荧光笔的颜色?

目标:理想情况下,我想:

1.了解如何创建修改代码颜色的扩展

2.分支和修改这个扩展做我想做的事(但我找不到要添加颜色的文件)Freemarker Highlighting Extension

我发现的只是一般编辑器的editor.tokenColorCustomizations信息,但这显然在 settings.json 中对于个别语言是不允许的:“此设置不支持每种语言的配置。” **

VS代码错误

我找到了大量关于如何创建自己的语言扩展等的信息,但没有一个涉及代码着色细节。

搜索词“ visual studio 如何创建对语言进行颜色编码的扩展”几乎涵盖了所有内容,但我正在尝试弄清楚。

似乎 Yo Code 可能是解决方案的一部分,但同样没有关于着色的细节。

我研究/阅读的东西:

也许对你们中的一些人来说很明显,但我无法找到我需要的答案。因此,如果 SO 社区可以帮助我指出正确的方向而不给我带来困难,我将不胜感激。

0 投票
0 回答
16 浏览

visual-studio-code - 正则表达式匹配但没有突出显示

我目前正在创建一个语言扩展。添加评论(以 开头$$)时,我遇到了障碍。

尽管正则表达式匹配并被正确转义,但没有突出显示,并且检查工具确认它没有正确检测到。

图片

我试过把match钥匙放在patterns数组外面,没有改变。