summaryrefslogtreecommitdiffstats
path: root/lisp/init-eglot.el
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2021-08-13 09:49:52 +0200
committerMartin Polden <mpolden@mpolden.no>2021-08-13 09:49:52 +0200
commit7d62efed037e9e3c10f6ca8024ecf094e1fa1648 (patch)
tree04228bea01a192f50a372799a097e5e591e5db98 /lisp/init-eglot.el
parent4c8d596cb0fc63039151e1ecf2bd23af88cdc98b (diff)
eglot: Organize imports before saving
Diffstat (limited to 'lisp/init-eglot.el')
-rw-r--r--lisp/init-eglot.el13
1 files changed, 11 insertions, 2 deletions
diff --git a/lisp/init-eglot.el b/lisp/init-eglot.el
index 3ac6019..9fbc89c 100644
--- a/lisp/init-eglot.el
+++ b/lisp/init-eglot.el
@@ -5,11 +5,19 @@
(defvar mpolden/inhibit-format-before-save nil
"List of modes where `eglot-format' should not be run before saving the buffer.")
+(defvar mpolden/inhibit-organize-imports-before-save nil
+ "List of modes where `eglot-code-action-organize-imports' should not be run before saving the buffer.")
+
(defun mpolden/format-before-save ()
- "Format buffer using `eglot-format' unless explicitly inhibited in current mode."
+ "Format buffer before saving."
(unless (member major-mode mpolden/inhibit-format-before-save)
(eglot-format)))
+(defun mpolden/organize-imports-before-save ()
+ "Organize imports before saving buffer."
+ (unless (member major-mode mpolden/inhibit-organize-imports-before-save)
+ (call-interactively 'eglot-code-action-organize-imports)))
+
(use-package eglot
:ensure t
:init
@@ -25,7 +33,8 @@
(java-mode . eglot-ensure)
(python-mode . eglot-ensure)
(rust-mode . eglot-ensure)
- (before-save . mpolden/format-before-save))
+ (before-save . mpolden/format-before-save)
+ (before-save . mpolden/organize-imports-before-save))
:bind (:map eglot-mode-map
;; C-c r renames identifier