JavaScript 的 emacs 字体锁定模式:想像 'this' 一样突出显示 'self'
emacs font-lock-mode for JavaScript: would like to highlight 'self' just like 'this'
因为我经常需要避免 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)))))
因为我经常需要避免 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)))))