在 js2-mode 中使用 flycheck 进行缩进设置
Use flycheck for indent settings in js2-mode
我在 Emacs 25.2 上启用了 js2 模式和 flycheck/eslint。
当前按下的制表符(或换行符)将按照 js2-mode-js-indent-level 缩进。
我希望它是动态的以匹配 flycheck/eslint 设置
有办法吗?
Emacs 已经具备解析 json
的功能(在本例中为 eslint
配置)。
解析配置并将缩进配置设置为js-indent-level
:
(defun js2-mode-use-eslint-indent ()
(let ((json-object-type 'hash-table)
(json-config (shell-command-to-string (format "eslint --print-config %s"
(shell-quote-argument
(buffer-file-name))))))
(ignore-errors
(setq js-indent-level
(aref (gethash "indent" (gethash "rules" (json-read-from-string json-config))) 1)))))
(add-hook 'js2-mode-hook #'js2-mode-use-eslint-indent)
我在 Emacs 25.2 上启用了 js2 模式和 flycheck/eslint。
当前按下的制表符(或换行符)将按照 js2-mode-js-indent-level 缩进。
我希望它是动态的以匹配 flycheck/eslint 设置
有办法吗?
Emacs 已经具备解析 json
的功能(在本例中为 eslint
配置)。
解析配置并将缩进配置设置为js-indent-level
:
(defun js2-mode-use-eslint-indent ()
(let ((json-object-type 'hash-table)
(json-config (shell-command-to-string (format "eslint --print-config %s"
(shell-quote-argument
(buffer-file-name))))))
(ignore-errors
(setq js-indent-level
(aref (gethash "indent" (gethash "rules" (json-read-from-string json-config))) 1)))))
(add-hook 'js2-mode-hook #'js2-mode-use-eslint-indent)