2

因为我经常不得不避免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 高级用户而不是开发人员,这似乎是拜占庭式的。

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

4

1 回答 1

3

有趣的是,在这里发布如何改进我自己的故障排除。:-)

JavaScript 模式实际上是js-mode,不是javascript-mode。我没有耐心弄清楚为什么有两个,可能是历史性的。所以这行得通,在此过程中修复了两个细节(单词边界和正确的面孔):

(add-hook 'js-mode-hook (lambda() 
          (font-lock-add-keywords 'js-mode '(("\\<self\\>" . 'font-lock-constant-face)))))
于 2016-04-01T01:55:39.560 回答