summaryrefslogtreecommitdiffstats
path: root/lisp/init-eglot.el
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2023-03-14 14:40:27 +0100
committerMartin Polden <mpolden@mpolden.no>2023-03-14 14:42:32 +0100
commita872116f0b1704a1170e948cc982533039ad0aac (patch)
tree19a5612ba1e4e6fb3b382637b5513a96bcc68349 /lisp/init-eglot.el
parentdc140f9709249db282e36cbb68dc9568ef2020ae (diff)
eglot: fix organize imports
Diffstat (limited to 'lisp/init-eglot.el')
-rw-r--r--lisp/init-eglot.el11
1 files changed, 9 insertions, 2 deletions
diff --git a/lisp/init-eglot.el b/lisp/init-eglot.el
index 0f77754..04a01ab 100644
--- a/lisp/init-eglot.el
+++ b/lisp/init-eglot.el
@@ -11,6 +11,13 @@
(defvar mpolden/inhibit-lsp nil
"List of modes where `eglot-ensure' should not be called to enable LSP integration.")
+(defun mpolden/eglot-organize-imports ()
+ "Organize imports."
+ ;; this is a workaround for eglot-code-action-organize-imports not working
+ ;; https://github.com/joaotavora/eglot/issues/1132
+ ;; https://github.com/joaotavora/eglot/issues/574#issuecomment-1401023985
+ (eglot-code-actions nil nil "source.organizeImports" t))
+
(defun mpolden/format-before-save ()
"Format buffer before saving."
(unless (member major-mode mpolden/inhibit-format-before-save)
@@ -19,7 +26,7 @@
(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)))
+ (mpolden/eglot-organize-imports)))
(defun mpolden/eglot-before-save ()
"All actions that may run before saving buffer."
@@ -62,7 +69,7 @@
;; C-c f formats buffer
("C-c f" . eglot-format)
;; C-c o organizes imports
- ("C-c o" . eglot-code-action-organize-imports)
+ ("C-c o" . mpolden/eglot-organize-imports)
;; C-c q shows code actions (quickfix)
("C-c q" . eglot-code-actions))
:config