ruby - Ruby 变量和关键字的 Sublime 颜色语法

标签 ruby sublimetext2

Sublime Text 2 有没有办法为 Ruby“变量”和“关键字”显示不同的颜色?下图是具有默认 Monokai 配色方案的 Ruby 代码示例。我希望变量(list、x)的颜色与关键字(each、print)的颜色不同。

目前,它们都与<key>foreground</key>相关联。 。我确实尝试更改 variable颜色,但只改变了 |x| .

Example of Ruby color syntax

最佳答案

不,没有办法使用 Sublime 附带的默认 Ruby 语法来执行此操作。 listeachprintx 的作用域均为 source.ruby ,这意味着它们没有可以通过配色方案定位的特定范围。另一方面,end 的作用域是 keyword.control.rubydo 的作用域是 keyword.control.start-block.ruby (除了适用于所有元素的基本 source.ruby 范围之外),因此,如果您的配色方案中有 keyword 的规则>keyword.control,它们可以有不同的颜色。 |x| 是管道 |punctuation.separator.variable.rubyvariable.other.block.ruby code> 为 x,因此可以根据您的喜好进行调整。

本质上,只有当项目具有不同的范围,并且您的配色方案包含该范围的规则(或其更通用的版本,但不是更具体的版本)时,才可以对其进行着色。例如,与 Python 相比,Ruby 尤其具有挑战性,因为 Python 方法末尾总是有括号(例如,string_var.replace()),并且可以编写正则表达式来突出显示点之间的任何内容. 和括号作为函数调用,Ruby 不遵循这种范例,因此语法高亮定义(在各种 .tmLanguage 文件中找到)无法区分方法调用和一个简单的属性,因此无法区分地突出显示它们。这就是为什么程序中的 list.each 只是 source.ruby,并且 each 没有突出显示为函数。

关于ruby - Ruby 变量和关键字的 Sublime 颜色语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29398732/

相关文章:

ruby - 从嵌套类调用父模块方法

javascript - jQuery AJAX 在 200 成功响应中以 404 失败

ruby-on-rails - 在整个 Rails 应用程序中使用一个客户端实例进行外部服务

linux - 如何在 linux 的 sublime text 2 中构建 opencv c++ 程序

ide - Sublime Text 2中是否有与 “Format indenting of selected code”等效的Textmate?

sublimetext2 - Sublime Text 3 侧边栏上下文菜单

ruby-on-rails - Rails Ruby 哈希数组按键合并为平均值

ruby-on-rails - Mongoid 3.0 嵌入 1-N 查询,用于列出所有嵌入字段

sublimetext2 - 是否可以在 Sublime 侧边栏中的文件名旁边显示文件大小?

go - 在 Go 语言中杀死 ListenAndServe