我正在使用 Emacs 开发 Javascript。
我有一个函数可以将我的 Javascript 代码格式化为 Standard Style在文件保存。我的配置如下所示:
(add-hook 'js-mode-hook
(lambda ()
(add-hook 'before-save-hook 'standardfmt t t)))
不幸的是,这个钩子(Hook)也有使用 json-mode
应用于缓冲区的副作用,因为 json-mode
扩展自 js-mode
.
有没有一种简单的方法可以从这个钩子(Hook)中排除json-mode
缓冲区?
最佳答案
你可以这样做:
(add-hook 'js-mode-hook
(lambda ()
(unless (derived-mode-p 'json-mode)
(add-hook 'before-save-hook 'standardfmt t t))))
或者替代地
(add-hook 'js-mode-hook
(lambda ()
(when (eq major-mode 'js-mode) ;; Not a derived mode.
(add-hook 'before-save-hook 'standardfmt t t))))
关于javascript - emacs - 从 js-mode-hook 中排除 json-mode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32742797/