4

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

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

谁能建议如何告诉 Sublime Text 在哪里寻找函数(过程)声明的模式?

谢谢!

4

2 回答 2

4

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

编辑

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

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

于 2013-04-22T17:31:33.263 回答
0

我自己也为Cadence Skill制作了一个。你可以在这里试试

https://github.com/noisyass2/SublimeCadenceSkill

于 2013-09-06T10:46:50.077 回答