disable flymake for js/ts file in specific directories

This commit is contained in:
zedhugh committed 2023-10-18 17:28:38 +08:00
1 parent 6c2af2b0f2
commit cd04da91f9
1 file changed
+20
+20
View File
@@ -6,7 +6,27 @@
(select-window (select-window
(get-buffer-window (flymake--diagnostics-buffer-name)))) (get-buffer-window (flymake--diagnostics-buffer-name))))
(defcustom flymake-disabled-for-js/ts-in-dirnames nil
"Disable `flymake-mode' in js/ts file in these directories."
:type '(repeat string))
(defun creature/file-in-dir (filepath dirname)
(and filepath
(seq-contains-p (file-name-split filepath) dirname)))
(defun creature/flymake-need-disabled ()
(and flymake-mode
(derived-mode-p 'js-base-mode 'typescript-ts-base-mode 'typescript-mode)
(cl-some (lambda (dir)
(creature/file-in-dir buffer-file-name dir))
flymake-disabled-for-js/ts-in-dirnames)))
(defun creature/flymake-disable-in-compiled-js/ts-file ()
(when (creature/flymake-need-disabled)
(flymake-mode -1)))
(with-eval-after-load 'flymake (with-eval-after-load 'flymake
(add-hook 'flymake-mode-hook #'creature/flymake-disable-in-compiled-js/ts-file)
(add-hook 'flymake-mode-hook #'creature/flymake-add-eslint-backend) (add-hook 'flymake-mode-hook #'creature/flymake-add-eslint-backend)
(lazy-load-set-keys (lazy-load-set-keys