在处理c文件时,我创建了一个钩子函数来激活反讽模式。但是,当我打开一个php文件时,这些钩子也会被执行。
以下是代码:
(defun my-company-irony ()
(irony-mode)
(unless (memq 'company-irony company-backends)
(setq-local company-backends (cons 'company-irony company-backends))))
(add-hook 'c-mode-hook #'my-company-irony)有人知道如何停止在php文件上执行这个钩子吗?
发布于 2017-03-23 20:01:27
php-mode似乎继承了c-mode,我认为这意味着它将运行c-mode-hook。如果您查看cc-mode.el,其他类似C的模式继承自prog-mode,而不是直接从c-mode继承,这可能是正确的。您可能应该向php-mode提交一个bug。
为了在此期间修复它,只需将代码包装在c-mode的测试中即可。
(defun my-company-irony ()
(when (eq major-mode 'c-mode)
(irony-mode)
(unless (memq 'company-irony company-backends)
(setq-local company-backends (cons 'company-irony company-backends)))))https://stackoverflow.com/questions/42982838
复制相似问题