summaryrefslogtreecommitdiffstats
path: root/lisp/init-eglot.el
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2022-03-16 14:23:36 +0100
committerMartin Polden <mpolden@mpolden.no>2022-03-16 14:23:36 +0100
commit775a79ecfd5042c6b19914ff2702e3803bffbb87 (patch)
treea594dada13bbd21c971f43351e5b1c0e8bae54df /lisp/init-eglot.el
parent412d15686ad63529ce22d4a828adfc69b4df9612 (diff)
eglot: Add variable for disabling LSP integration
Diffstat (limited to 'lisp/init-eglot.el')
-rw-r--r--lisp/init-eglot.el21
1 files changed, 15 insertions, 6 deletions
diff --git a/lisp/init-eglot.el b/lisp/init-eglot.el
index 249b868..0f77754 100644
--- a/lisp/init-eglot.el
+++ b/lisp/init-eglot.el
@@ -8,6 +8,9 @@
(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.")
+(defvar mpolden/inhibit-lsp nil
+ "List of modes where `eglot-ensure' should not be called to enable LSP integration.")
+
(defun mpolden/format-before-save ()
"Format buffer before saving."
(unless (member major-mode mpolden/inhibit-format-before-save)
@@ -20,8 +23,14 @@
(defun mpolden/eglot-before-save ()
"All actions that may run before saving buffer."
- (mpolden/format-before-save)
- (mpolden/organize-imports-before-save))
+ (unless (member major-mode mpolden/inhibit-lsp)
+ (mpolden/format-before-save)
+ (mpolden/organize-imports-before-save)))
+
+(defun mpolden/eglot-ensure ()
+ "Enable Eglot for current `major-mode'."
+ (unless (member major-mode mpolden/inhibit-lsp)
+ (eglot-ensure)))
(defun mpolden/gfm-unescape-string (string)
"Remove backslash-escape of punctuation characters in STRING."
@@ -41,10 +50,10 @@
(setq-default tab-width 4)
:hook
;; load eglot automatically for these modes
- ((go-mode . eglot-ensure)
- (java-mode . eglot-ensure)
- (python-mode . eglot-ensure)
- (rust-mode . eglot-ensure)
+ ((go-mode . mpolden/eglot-ensure)
+ (java-mode . mpolden/eglot-ensure)
+ (python-mode . mpolden/eglot-ensure)
+ (rust-mode . mpolden/eglot-ensure)
(before-save . mpolden/eglot-before-save))
:bind (:map eglot-mode-map