用于 JavaScript 的 emacs 字体锁定模式:希望像"这个"一样突出显示"self"



因为我经常必须保护this不在闭包中被覆盖,所以我喜欢在构造函数的顶部执行:var self = this;。随后,我想重点介绍self当前如何以及何时高亮显示this。然而,在研究了emacs文档、网站和这里的示例,并对这些示例进行了改编之后,它就不起作用了。我正在评估这个表达式:

(font-lock-add-keywords 'javascript-mode
        '(("self" . 'font-lock-keyword-face)))

在我的.emacs文件和javascript缓冲区中,还可以切换font-lock-mode以强制刷新。我尝试过使用令人困惑的"\<self\>"语法的变体,但我显然是在扔飞镖,因为这也失败了。我看到了font-lock-add-keywords的许多变体,但作为Emacs的高级用户,而不是开发人员,这似乎是拜占庭式的。

作为上下文,这是GNU Emacs 24.5.1,作为本机Mac OS X 10.11.5应用程序运行,而不是在终端中。

有趣的是,在这里发帖可以改善我自己的故障排除。:-)

JavaScript模式实际上是js-mode,而不是javascript-mode。我没有耐心弄清楚为什么会有两个,可能是历史性的。因此,这起到了作用,一路上修复了两个细节(单词边界和正确的面孔):

(add-hook 'js-mode-hook (lambda() 
          (font-lock-add-keywords 'js-mode '(("\<self\>" . 'font-lock-constant-face)))))

相关内容

  • 没有找到相关文章

最新更新