Scala 语法
为 Sublime Text 中的 Scala 编写的语法文件
详细信息
安装次数
- 总计 7K
- Win 2K
- Mac 3K
- Linux 2K
Aug 6 | Aug 5 | Aug 4 | Aug 3 | Aug 2 | Aug 1 | Jul 31 | Jul 30 | Jul 29 | Jul 28 | Jul 27 | Jul 26 | Jul 25 | Jul 24 | Jul 23 | Jul 22 | Jul 21 | Jul 20 | Jul 19 | Jul 18 | Jul 17 | Jul 16 | Jul 15 | Jul 14 | Jul 13 | Jul 12 | Jul 11 | Jul 10 | Jul 9 | Jul 8 | Jul 7 | Jul 6 | Jul 5 | Jul 4 | Jul 3 | Jul 2 | Jul 1 | Jun 30 | Jun 29 | Jun 28 | Jun 27 | Jun 26 | Jun 25 | Jun 24 | Jun 23 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Mac | 0 | 2 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
Linux | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
README
sublime-scala-syntax
改进 Sublime Text 中 Scala 的语法。此语法大约在 ST 的 3084 版本时编写。在此期间,Scala 语法已经改进,并支持此语法的一些功能。但我没有在主要版本中集成一些差异,因为其他贡献者不喜欢它们。
主要语法可能存在较少的错误,因为已经进行了更多的测试。
因此,我们现在处于 4102 版本,现在我将存档此存储库。
安装 - I
此插件可在 Package Control 上获取。建议您从那里获取。
如果您了解自己的操作,也可以在 Packages/User 文件夹中克隆存储库。
如果您在 Package Control 中看不到此插件,那可能是因为您有一个太旧的版本。该插件仅在构建 >= 3084 时可见。
然后您可以使用命令 set syntax: Scala2
或通过菜单:查看 > 语法 > Scala2
更改指定的文件。
如果您喜欢它,您可以将其设置为 .scala 文件的默认语法:查看 > 语法 > 以当前扩展名打开所有 ... > Scala2
。
新语法将改善您的 Scala 代码的着色方式。但为了更好地利用它,我建议使用我制作的改进的 Espresso Libre 主题。如果您不喜欢 Espresso,旧版本和新版本之间的差异应能帮助您移植您最喜欢的颜色主题。
II - 功能
Sublime Text 的 3084 版本引入了语法定义文件的全新格式。
有关文档的介绍可在 此处 找到。
将这次机会视为改善Sublime中的Scala语法高亮的一大步。
以下特性已在本语法中实现。勾选的特性现在也存在于主Scala语法中。
- [x] 字符串插值(如
s"Foo: $foo"
) - [x] 复杂的方法名(如
abc_*^=
) - [x] 注解(如
@tailrec
) - [x] Scala代码内的XML
- [ ] 转义字符(如
'\u2101'
) - [ ] 错误转义字符
- [ ] 函数调用
- [ ] 大括号和标点的精确范围
- [ ] ScalaDoc注释中的格式化
- [ ] 运算符
我发现我的Scala文件与Python文件相比味道太淡了,所以我为运算符、类型和预定义方法(如println
、assert
等)添加了一些颜色。
此外,我为标点符号设置了非常精确的范围,使得标点符号能够着色。例如,如果大括号标记一个类或函数,它们的颜色是不一样的。
以下是实际Sublime Text高亮(版本3140)和我的比较
默认Scala语法
这个Scala语法
III - 免责声明
Scala是一种语法丰富的复杂语言,所以我没有涵盖到所有语言特性,可能已经引入了回归。
如果你的代码着色不佳,请提供一个示例并创建一个问题。