我在哪里可以找到用于语法高亮的 tm-themes 的所有可能键的列表?
Posted
技术标签:
【中文标题】我在哪里可以找到用于语法高亮的 tm-themes 的所有可能键的列表?【英文标题】:Where can I find a list of all possible keys for tm-themes for syntax highlighting? 【发布时间】:2017-06-26 06:28:06 【问题描述】:在我当前的文本编辑器的 tmTheme 文件中,有许多选项,包括下面代码中的选项。是否有一个列表定义了所有可能包含在此列表中的标签(例如background
、inactiveSelection
、findHighlight
等)?
<dict>
<key>background</key>
<string>#1a1a1a</string>
<key>caret</key>
<string>#B6ECF9AF</string>
<key>foreground</key>
<string>#ecf0f1</string>
<key>invisibles</key>
<string>#F3FFB51A</string>
<key>lineHighlight</key>
<string>#2a2a2a</string>
<key>selection</key>
<string>#e74c3c55</string>
<key>selectionForeground</key>
<string>#ffffff</string>
<key>findHighlight</key>
<string>#e74c3c</string>
<key>inactiveSelection</key>
<string>#e74c3c77</string>
<key>gutter</key>
<string>#2a2a2a</string>
<key>gutterForeground</key>
<string>#ffffff</string>
<key>guide</key>
<string>#222222</string>
<key>activeGuide</key>
<string>#ffffff</string>
</dict>
另一个带有更多标签的例子:Other Theme
如果相关,我正在使用 VSCode。
【问题讨论】:
【参考方案1】:tmLanguage 范围名称基于约定,因此没有明确的列表。不过,this TextMate 手册页底部的“命名约定”部分相当全面。
您还可以检查 VSCode 的默认主题突出显示的范围,例如参见 dark_plus.json
和 dark_vs.json
(前者基于/包含)。
最后,从 VSCode 1.9.0 开始,有一个内置命令可以检查 tmLanguage 范围 (Developer: Inspect Editor Tokens and Scopes
)。它将为您提供有关光标位置处的标记如何作用域/突出显示的大量信息:
还有一个Scope Info 扩展,它做了非常相似的事情,但在悬停时(我个人更喜欢可用性方面的)。但是,它只列出了范围名称,不包括 VSCode 的内置检查器具有的任何附加信息。
【讨论】:
我在这里试图找出的最重要的部分只是从悬停信息后面偷看:“范围”可以是范围名称的数组。我无法弄清楚如何指定这样的层次结构:"scope": ["text.html.markdown", "invalid.illegal.expected-dictionary-separator.json"]
以上是关于我在哪里可以找到用于语法高亮的 tm-themes 的所有可能键的列表?的主要内容,如果未能解决你的问题,请参考以下文章
使用 QScintilla 和 Qt/C++ 自定义语法高亮
试着在Notepad ++中找到ColdFusion的语法高亮显示