【发布时间】:2013-07-14 07:10:40
【问题描述】:
在 notepad++ 中,tcl 命令参数被突出显示。像这样:
puts [my_tcl_command -arg1 foo -arg2 bar]
如何更改 Sublime Text 2 中的语法高亮定义。我猜它在此文件“Sublime Text 2\Packages\TCL\Tcl.tmLanguage”中的某处。
【问题讨论】:
标签: sublimetext2 syntax-highlighting
在 notepad++ 中,tcl 命令参数被突出显示。像这样:
puts [my_tcl_command -arg1 foo -arg2 bar]
如何更改 Sublime Text 2 中的语法高亮定义。我猜它在此文件“Sublime Text 2\Packages\TCL\Tcl.tmLanguage”中的某处。
【问题讨论】:
标签: sublimetext2 syntax-highlighting
Sublime Text 中的语法高亮由两个文件控制 - 您提到的 .tmLanguage 文件和主题的 .tmTheme 文件。 作用域通过解释包含在.tmLanguage 文件中的正则表达式分配给您的代码。例如,puts 被分配了作用域 source.tcl keyword.other.tcl 您可以通过将光标放在某个位置然后按 CtrlAltShift 来确定这一点kbd>-P - 范围将出现在底部栏中。或者,我强烈推荐使用ScopeHunter 插件。
所以,既然我们有了范围,就由tmTheme 文件来分配语法高亮。除非您安装了插件主题,否则这些文件位于 Packages/Color Schemes - Default 目录中。它采用 XML 格式,您可以搜索分配给 -arg1 和 -arg2 参数的范围并更改颜色 - 它们采用十六进制 RGB 网络格式。
编辑
我刚刚重新阅读了您的问题,并意识到您想要分配一个 new 范围来突出显示参数。为此,您需要编辑.tmLanguage 文件并添加一个新的正则表达式以突出显示它们,分配一个范围,然后更改您的.tmTheme 以添加新范围,或者只分配一个已经突出显示的范围。我不太了解 Notepad++ 是如何分配其语法高亮规则的,所以您也许可以找到一个已经编写好的。查看其他.tmLanguage 文件也很有启发性。我推荐 Python 的,尽管它的组织不是很好,因为有大量的范围,而且很容易看到正在做什么。
【讨论】: