我在使用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文件上执行此挂钩吗?
答案 0 :(得分:1)
似乎php-mode
继承自c-mode
,我认为这意味着它会运行c-mode-hook
。如果你看cc-mode.el,其他类C模式继承自prog-mode
,而不是直接来自c-mode
,这可能是正确的事情。您应该向php-mode
提交错误。
要在此期间修复它,只需将代码包装在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)))))