Sublime Text 3的Clojure语法突出显示经常在正则表达式上/之后中断。我看到Anthony Grimes在Sublime Text Forum上发现了这一点:http://sublimetext.userecho.com/topic/82983-clojure-regexes-are-not-parsed-properly/
建议回答:
在
Clojure.tmLanguage
内尝试更改
<string>source.regexp.oniguruma</string>
到
<string>#string_escape</string>
但Clojure.tmLanguage
在哪里?在我进行更改后,我是否只是将其保存到位? (见Where to put .tmLanguage in sublime text 3?)
我在Sublime Text 3目录中看到了这个:
$ tree -L 1
.
├── Cache
├── Index
├── Installed\ Packages
├── Local
└── Packages
在Cache
内,我看到Clojure/Clojure.tmLanguage.cache
,但这可能不对。
更新:我使用的是Mac OS X 10.9。
更新:我正在查看 Where are .tmLanguage files stored for ST3
更新:此处还详细介绍了其他Clojure语法问题:http://www.sublimetext.com/forum/viewtopic.php?f=3&t=14077
更新:我尝试通过首先将Clojure.tmLanguage.cache
重命名为Clojure.tmLanguage.zip
来解压缩.cpgz
文件。那很奇怪;当我尝试解压缩它们时,我得到了.zip
和{{1}}文件的交替和无限循环。见:discussion.apple.com/thread/1446784
答案 0 :(得分:6)
如果您要更改Sublime Text 3中默认包中的项目,我高度建议您通过@skuroda安装PackageResourceViewer
。它允许您从默认存储位置打开,查看,编辑和提取包(因操作系统而异),并将它们放在Packages/PackageName
中,覆盖默认值。
安装完插件后,转到Preferences -> Package Settings -> PackageResourceViewer -> Settings - User
并粘贴以下内容:
{
"single_command": false
}
这只是在Command Palette中为您提供了一些额外的选项。接下来,点击⌘ ⇧ P 并输入prv
以显示PackageResourceViewer
个选项。选择Edit Package Resource
并导航至Clojure -> Clojure.tmLanguage
。进行搜索和替换,并保存文件,该文件现在位于Packages/Clojure/Clojure.tmLanguage
,以防您需要再次编辑 - 您将能够像普通文件一样打开它。
要回答原始问题,在OS X上,原始.sublime-package
文件位于/Applications/Sublime Text.app/Contents/MacOS/Packages
。但是,永远不应该直接修改这些文件,因为 a)您可能很容易破坏某些内容,而 b)它们会在升级时被覆盖,因此任何更改都将丢失。
Neon Color Scheme
的维护者,我刚刚发布了一个新版本,其中包含对Clojure更具体的支持,除了已经存在的东西。我的配色方案的目标是尽可能多地使用尽可能多的语言,充分利用.tmLanguage
定义文件中尽可能多的范围。我刚刚开始学习Clojure,语言定义相当丰富,因此有很多机会可以进行特定于上下文的突出显示。看看,请let me know你的想法!