我正在尝试在文本编辑器上将 ruby 源代码编写为字符串(作为真正的 Ruby 代码的一部分),并为 Ruby 代码突出显示语法,但希望 Ruby 语法突出显示能够处理字符串中的代码。使用双引号或单引号、百分号、heredoc 都可以让文本编辑器识别它是一个字符串,因此整个代码块都以单一颜色作为字符串着色。
<<_
class Foo
def bar
# blah blah
end
end
_
有没有办法让编辑器上的 Ruby 语法高亮错过字符串的边界,使其内容高亮为 Ruby 代码?
编辑
Stefan 注意到 Atom、Sublime Text 和 RubyMine 的一个很棒的功能可以做到这一点。但不幸的是,它似乎不适用于 Emacs ruby 模式。有人知道修改后的 ruby-mode.el
或 emacs 上的一些附加库来执行此操作吗?
编辑
或者任何人都可以编写一个简单的 elisp 代码(如果难以实现其他语言的突出显示,只是在 heredoc 标识符为 RUBY
时忽略 heredoc 开始和结束)?
最佳答案
至少 Atom、Sublime Text 和 RubyMine 支持基于 heredoc 的语法高亮显示标识符。 <<-RUBY
呈现为 Ruby,<<-SQL
如 SQL 等。
这是 Atom 的屏幕截图:
关于ruby - 使用语法高亮将代码编写为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26572499/