0

有时,文本编辑器为语法高亮所做的解析是不准确的。经常发生在 ruby​​ 模式中引入 heredoc 会混淆 emacs 上的语法突出显示,就像在这个问题中一样。我对这种情况有疑问:

<<_
  some here doc content
  ...
  last line of the intended heredoc
_
this_ruby_code_line_and_any_line_after_it_is_highlightened_as_part_of_heredoc

我不希望为此修复 emacs ruby​​-mode,但是为了重置突出显示问题,我通常可以在 heredoc 和以下 Ruby 代码之间放置某种注释字符串吗?当我遇到的问题不是heredoc而是时髦的字符串文字(尤其是那些包括引号的文字)时,有时会放置一个注释字符串,例如

#"'`

在行尾解决了这个问题。有没有这样的东西可以解决heredoc的问题,此外,是否有一个可以更普遍使用的字符串?

4

1 回答 1

1

在 Emacs 主干构建中对我来说效果很好。

尝试更新的 Emacs 版本(我很确定这适用于即将发布的 24.3 版本,但也可能适用于当前版本)和/或确保您使用的是ruby-mode与 Emacs 捆绑在一起的,而不是通过 ELPA 安装等:

ELISP> (require 'which-func)
which-func
ELISP> (find-library-name "ruby-mode")
"/home/gutov/emacs-bzr/trunk/lisp/progmodes/ruby-mode.el"
于 2013-02-25T06:46:33.683 回答