有时,文本编辑器为语法突出显示进行的解析并不准确。通常情况下,在ruby模式下引入heredoc会在this question中混淆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的问题,而且,是否有一个可以更普遍使用的字符串?
答案 0 :(得分:1)
在Emacs主干版本中可以正常使用。
尝试更新的Emacs版本(我很确定这适用于即将推出的24.3版本,但也许在当前版本中)和/或确保您使用与Emacs捆绑的ruby-mode
,不是通过ELPA等安装的:
ELISP> (require 'which-func)
which-func
ELISP> (find-library-name "ruby-mode")
"/home/gutov/emacs-bzr/trunk/lisp/progmodes/ruby-mode.el"