ruby模式下的emacs语法高亮显示不适用于“<<”操作者

时间:2011-03-02 08:38:08

标签: ruby emacs

问题在于,当我尝试使用“<<”时运算符,ruby模式认为这是一个错误,下面的所有代码都丢失了语法高亮,类似的情况丢失括号或引号。无论如何要解决这个问题? Emacs 22 23都适用。

如下图所示:

enter image description here

3 个答案:

答案 0 :(得分:2)

而不是放弃emacs(如果你坚持使用整个新的宇宙等待你 - 它不仅仅是一个编辑器,而不是IDE),也许你可以开始在你的令牌之间插入空格?不幸的是,似乎有一个事实上的红宝石风格,用于在'<<<即使是方法和单身人士。

答案 1 :(得分:0)

最后我自己找到了答案,如下所述:

http://www.ruby-forum.com/topic/95762

这是因为Ruby语言的语法模糊,这使得当前的ruby-mode.el无法区分哪个用法“<<”特此申请。

接近上述讨论的结尾,即使 Maz 自己站起来说:

|Steve, in that case Emacs ruby-mode is incorrect.

Maybe Ruby is too smart for this issue, since it's difficult for
editors to determine here-doc from shift operators without serious
parsing.

              matz.

关于语法高亮的奇怪ruby模式的其他讨论:http://www.ruby-forum.com/topic/119917

这花了我三个小时,eerrrr ...我想我会坚持使用rubmate / RoR / Sinatra开发的文本,直到出现一些严重的ruby模式。

答案 2 :(得分:0)

起初,我没有设法在这里重复这个问题。过了一会儿,我意识到我有一个旧版本,可以追溯到2007年,在我的载入路径中。 (它错了一行。)也许你可以用它作为临时解决方案?

请将此作为错误提交给Emacs团队,因为Emacs能够着色比此更复杂的构造。 (跳过包含钩子设置的部分,因为它无关紧要。)