gpt4 book ai didi

syntax-highlighting - Sublime Text 2 中的语法高亮显示

转载 作者:行者123 更新时间:2023-12-02 17:28:13 29 4
gpt4 key购买 nike

所以我一直在尝试弄清楚如何在 sublime text 中为 C++ 文件中的 typedef 名称添加语法突出显示。

例如,如果我有 typedef long long integer; 我希望突出显示 integer (最好与其他类型具有相同的颜色:int bool 等)。我查看了 C.tmLanuage 文件,并尝试将以下正则表达式代码 ^typedef.*?\s(\w+)\s*; 添加到 storage.type.c (第 49 行),但它不起作用。如果我添加单词 string,它将突出显示该单词 string 的所有实例。我尝试进入 C++.tmLanguage 文件,并将正则表达式代码添加到 storage.type.c++,但它仍然不起作用。

有人知道如何在 Sublime Text 中突出显示 typedef 吗?

另外,有没有办法让类名的语法突出显示?假设我声明了一个字符串向量,我希望突出显示字符串向量

最佳答案

如果你有类似于 typedef foo; 的东西,那么正则表达式会起作用(我相信)。为了获得你想要的行为,你必须在 tmLanguage 中创建一个稍微复杂的模式条目文件。由于语言文件基于 TextMates,因此您需要将其作为引用 ( http://manual.macromates.com/en/language_grammars#language_grammars )。我还建议使用 PlistJsonConverter (对我来说,使用 JSON 比使用 XML 更容易)。您可能需要定义开始和结束模式(开始可能是 typedef 结束可能是 ;)。然后,您可以将任何您想要的模式应用到该组。

至于类名突出显示,我会看看是否应用了任何范围。如果没有,您将必须想出一个正则表达式来将范围应用于这些。然后,您可以添加颜色条目,或使用颜色方案中定义的颜色条目。

编辑:

实际上它们似乎不是 JSON。我看到的是 () 而不是 []。 JSON 非常容易理解。您可以寻找更深入的内容,但是 wikipedia是一个很好的起点。您可能感兴趣的是“规则键”部分下的内容。我做了一些搜索(因为我知道那里有一些更好的例子),并发现了 http://docs.sublimetext.info/en/latest/extensibility/syntaxdefs.html 。它从头开始讨论语法定义,但最相关的部分可能是 http://docs.sublimetext.info/en/latest/extensibility/syntaxdefs.html#analyzing-patterns 。我没有用于查找类名的正则表达式,因此您必须自己想出一个。如果您还没有,您可能需要四处搜索,看看其他人是否已经以适合您的方式实现了语言文件。

您需要从内置的 tmLanguage 文件开始,并将其从 Plist 转换为 json。然后您可以编辑该文件并将其移回原处。

关于syntax-highlighting - Sublime Text 2 中的语法高亮显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15847721/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com