emacs font-lock-mode для JavaScript: хотел бы выделить "себя" так же, как "это"
Потому что мне часто приходится сохранять 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, а не в терминале.
1 ответ
Интересно, как публикация здесь улучшает мои собственные проблемы.:-)
Режим JavaScript на самом деле js-mode
не javascript-mode
, У меня нет терпения выяснить, почему есть два, возможно, исторические. Так что это сработало, исправив две тонкости (граница слова и правильное лицо) на этом пути:
(add-hook 'js-mode-hook (lambda()
(font-lock-add-keywords 'js-mode '(("\\<self\\>" . 'font-lock-constant-face)))))