问题在于,当我尝试使用“<<”时运算符,ruby模式认为这是一个错误,下面的所有代码都丢失了语法高亮,类似的情况丢失括号或引号。无论如何要解决这个问题? Emacs 22 23都适用。
如下图所示:
答案 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能够着色比此更复杂的构造。 (跳过包含钩子设置的部分,因为它无关紧要。)