因为我经常必须保护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)))))