[英]emacs - exclude json-mode from js-mode-hook
我正在使用Emacs开发Javascript。
我有一个函数,可以在保存文件时将Javascript代码格式化为“ 标准样式 ”。 我的配置如下所示:
(add-hook 'js-mode-hook
(lambda ()
(add-hook 'before-save-hook 'standardfmt t t)))
不幸的是,由于json-mode
继承自js-mode
,因此该钩子也具有使用json-mode
应用于缓冲区的副作用。
有没有一种简单的方法可以从此挂钩中排除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))))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.