簡體   English   中英

emacs-從js-mode-hook中排除json-mode

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM