问题标签 [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.
syntax - 如何为字符串嵌入评估代码编写语法规则
我正在尝试为客户语言编写一个 vscode 语法文件
我正在使用 Photoshop 绘制自定义语言的示例语法。
tmLanguage 的语法怎么写?
评估代码规则
将其用于子字符串实体模式但环绕字符串无法匹配
标签属性的双引号内容规则
如果 name
存在,所有双引号内容都是字符串的颜色
否则环绕字符串是纯文本颜色。
sublimetext3 - 如何在 Sublime Text 3 中为点画下划线着色?
我有一个插件使用add_regions命令为某些区域绘制下划线。
我还有一个自定义的tmLanguage
and tmTheme
,所以我可以控制我设置的范围的字体样式/前景色等。
现在,我试图让我的下划线成为一种特定的颜色(而不是默认的白色 ST3 颜色)......我知道这是可能的,因为 ST3 中的拼写检查有一个红色的波浪下划线。
我已经在我的 tmTheme 和插件的 add_regions 命令中更改了范围/设置/键等,但似乎没有任何问题。
任何方向都会非常有帮助!
visual-studio-code - 我在哪里可以找到用于语法突出显示的 tm-themes 的所有可能键的列表?
在我当前的文本编辑器的 tmTheme 文件中,有许多选项,包括下面代码中的选项。是否有一个列表定义了可以包含在该列表中的所有可能的标签(例如background
,、、inactiveSelection
等findHighlight
)?
另一个带有更多标签的示例:其他主题
如果相关,我正在使用 VSCode。
json - 为自定义语言的语法高亮创建 Visual Studio Code 扩展
我正在尝试在 Visual Studio Code 中创建一个扩展,以便为自定义语言启用语法突出显示。我在这里找到了@Wosi 提供的有用建议:在 Visual Studio Code 中创建自定义语言。基于此,我尝试进行以下测试。我在根目录下创建了一个子文件夹,%USERPROFILE%\.vscode\extensions
定义package.json
如下(来自上面的示例):
然后我在其下创建了一个 syntaxes 子文件夹,并包含一个mylang.tmLanguage
基于@wozi 在此处给出的示例的文件:How to create a simple custom language colorization to VS Code有一些小的修改只是为了使命名与上述 JSON 一致文件:
但是,当我使用以下测试文件 ( test.mylang
) 打开 Visual Studio Code (v1.11.2) 时:
关键字(提示、警告、失败)没有颜色。我需要做其他事情来指定主题吗?或者我是否需要指定一个新的唯一 UUID(如果需要,我可以自己制作,还是需要以某种方式注册)?
sublimetext3 - 扩展现有的 tmLanguage 文件
我正在使用 Sublime Text 3,在这种情况下编辑 LaTeX。为了进一步自定义语法突出显示,我想定义一个新的范围,它只是扩展了发货 LaTeX.tmLanguage
(我无权访问,甚至无法阅读)。注意我没有兴趣编写自己的 tmLanguage 文件,甚至没有下载现有的,我只想扩展它,就像在 Python 中重载一个类一样。
特别是我想添加meta.footnote.latex
一个自定义语法突出显示\footnote{...}
(我在https://github.com/bradrobertson/sublime-packages/blob/master/LaTeX/LaTeX.tmLanguage找到的一个定义)
regex - 正则表达式,查找所有出现的结果(组)
我有这个正则表达式:
找到后跟' in ',' in out '和' out '的每个字符串。在这个例子中:
我在 varchar2和param2 out number中突出显示param1,但没有 *return param1 ||'_TEST'*。如何捕获与正则表达式捕获的单词相等的所有单词?
visual-studio-code - VSCode 语言扩展
我正在构建自定义语言扩展,并且在 language-configuration.json 中遇到 lineComment 问题。奇怪的是,我的语言使用“@@”作为一行注释,我无法让它工作。
我试过@@、@@ 等等。
有小费吗?
(从评论更新):
这是我的语言配置.json 的全部内容:
visual-studio-code - Set color of quotes in Visual Studio Code customized theme
I'm using vscode a customized theme of my own, which I based on another theme. Currently text like this is displayed in white:
""" some Python comment """
I would like to change the color but cannot find the right attribute to change. I tried adding this in the *.tmTheme
file but it doesn't change anything:
Could you please help? Thank you very much in advance!
javascript - VS Code - 使用 TextMate 突出显示一些变量
VS Code 1.15 增加了对 TextMate 语法规则的支持。我想用这些规则突出显示 JavaScript 中的一些变量:self,me。我怎样才能做到这一点?
visual-studio-code - TextMate 语法——规则的优先级
我正在尝试修改 CSharp 语言的语法突出显示,因此我将在 C# 字符串中获得 SQL 的语法突出显示。TextMate 支持嵌入式语言,所以这似乎是可能的。
我建立在csharp.tmLanguage.json 之上,我希望能够在字符串之前启用带有特殊注释的嵌入式 SQL
感谢 TextMate 的Language Grammars and Introduction to scopes我想出了这个 JSON 规则
并且感谢 VSCode 的主题、片段和着色器以及运行和调试您的扩展,我能够测试,这个规则有效。
但是我有一个问题,我无法解决。
我的语法规则仅在 csharp 规则的重要部分被禁用时才有效,如果我禁用所有#declarations
and #script-top-level
,则嵌入的 SQL 有效:
否则,我的规则会被 csharp 规则覆盖,例如
- 标点符号.definition.comment.cs
- string.quoted.double.cs
- 评论块
- 等等
问题是,我的规则适用于几种语言元素,而 csharp 定义在针对这些元素时获胜。
在什么基础上标记元素?如何编写我的规则,以便在其他语言规则之前胜出并标记该语法?有没有计算规则权重的算法?
解决方案
如果您无法在 csharp 中劫持注释语法,让我们在 SQL 中使用注释。我制定了一条通过-- SQL
评论启用的规则,并将其应用于逐字字符串。现在它可以工作了,但样式有时会与字符串混合。需要一些额外的改进,但看起来很有希望。
证明有效的规则是这样的