修复 Sublime 中 Solarized 的颜色突出显示

Fix color highlighting on Solarized in Sublime

现在,solarized 主题将突出显示 JavaScript 中的变量,如果格式如下:

var foo = function (arg1, arg2) {...}

但不是这样的:

var foo = function(arg1, arg2) {...}

一些行业标准风格指南(例如 AirBnB)在 function 关键字后没有 space,所以我想修改我的配色方案。这可能吗?

这实际上是对语法定义中正则表达式的单字符修复。 Select Preferences -> Browse Packages... 在操作系统的文件浏览器中打开 Packages 文件夹。转到 JavaScript 目录并使用 XML 语法在 Sublime 中打开 JavaScript.tmLanguage。向下滚动到第 260 行,应该是这样的:

<string>\b(function)\s+([a-zA-Z_$]\w*)?\s*(\()(.*?)(\))</string>

改成这样:

<string>\b(function)\s*([a-zA-Z_$]\w*)?\s*(\()(.*?)(\))</string>
<!--                  ^ -->

其中 (function) 之后的 \s+ 变为 \s*\s是任意空白字符,后面的+表示match one or more。把+改成*就是match zero or more,这就是我们想要的

保存文件,重启 Sublime(以防万一),你应该已经准备好了。


Sublime Text 3 用户注意事项:

ST3 中的包现在存储在压缩的 .sublime-package 文件中,因此您需要一个额外的步骤。从包控制安装 PackageResourceViewer,然后打开命令面板和 select PackageResourceViewer: Open Resource。向下滚动到 JavaScript、select,然后向下滚动到 JavaScript.tmLanguage 和 select。您现在可以按上述方式编辑文件,当您保存它时,它会自动在 Packages 中创建一个 JavaScript 文件夹,其中包含 .tmLanguage 文件。