我正在对 SLIME 进行一些小修改,这样我就可以从 Lisp 获取所有当前加载的符号,分析它们并使字体锁定字体化它们。
我设法完成了所有这些步骤,但我有一个小问题 - 当字体锁定中的关键字列表发生变化时,缓冲区不会更新,除非您重新启动主要的 lisp 模式。我不想每次更新关键字时都重新启动 lisp-mode,因为我在 lisp-mode 上有几个钩子(Hook),我只想在第一次加载文件时运行它们。
是否有其他方法来更新字体锁定,以便它读取所有新关键字并相应地对缓冲区进行字体化?关闭字体锁定并使用 font-lock-fontify-buffer
并不能解决问题。
UPD:添加了赏金 - 问题仍然存在。我需要一种方法来重新加载字体锁定关键字而不重新加载主要模式。
最佳答案
好吧,这样怎么样:
(defun my-font-lock-restart ()
(interactive)
(setq font-lock-mode-major-mode nil)
(font-lock-fontify-buffer))
关于emacs - 在 emacs 中更新字体锁定关键字而无需重新加载主要模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1431843/