Sublime text:将符号添加到新的语言定义(语法高亮)

时间:2013-04-22 10:07:26

标签: sublimetext cadence

我在sublime text 2中为一种稍微不熟悉的语言(Cadence SKILL)编写了语法高亮语。

它的工作就像一个魅力,但我错过了CTRL + R的功能,它以一种易于访问的方式定位当前文件中的所有符号(功能)。

任何人都可以建议如何告诉Sublime Text在哪里寻找功能(程序)声明的模式?

谢谢!

1 个答案:

答案 0 :(得分:4)

看看Default/Symbol List.tmPreferences。您可以创建此首选项文件并指定要包括在符号列表中的范围。您可能还需要查看Java/Symbol List <some specifier>.tmPreferences以获取特定于语言的符号列表的示例。或者,您可以确保要包含的内容具有范围entity.name.functionentity.name.type

修改

您需要查看您的配色方案文件。这些文件是Plist,因此您可能希望使用类似PlistJsonConverter的内容来使其更具可读性(尽管这更多是个人偏好)。在此文件中,您将看到许多字典条目。这些条目的关键之一是范围。找到您的语言定义所定义的匹配范围时。您还会看到&#34;设置&#34;用于定义颜色,字体样式等详细信息的键。由于您需要不同的颜色,因此需要应用不同的范围。您需要定义自定义符号列表首选项文件,以便正确包含所有内容。以下内容来自Java包。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>name</key>
    <string>Symbol List: Classes</string>
    <key>scope</key>
    <string>source.java meta.class meta.class.identifier</string>
    <key>settings</key>
    <dict>
        <key>showInSymbolList</key>
        <integer>1</integer>
    </dict>
    <key>uuid</key>
    <string>22E489AE-989E-4A76-9C18-89944CF5013D</string>
</dict>
</plist>

您将定义要应用于要在列表中显示的条目的任何范围。