From d58d084774bc6a492e182cdb1652aaa1a662e2c5 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 24 Mar 2022 02:19:52 +0100 Subject: [PATCH] tweak(:lang,:tools): start eglot/lsp-mode later To ensure lsp/eglot settings have precedence over local servers (e.g. cider and lookup handlers). Ref: clojure-emacs/cider#3170 --- modules/lang/beancount/config.el | 2 +- modules/lang/crystal/config.el | 2 +- modules/lang/csharp/config.el | 2 +- modules/lang/dart/config.el | 5 +++-- modules/lang/elixir/config.el | 2 +- modules/lang/elm/config.el | 2 +- modules/lang/erlang/config.el | 2 +- modules/lang/ess/config.el | 2 +- modules/lang/fortran/config.el | 4 ++-- modules/lang/fsharp/config.el | 2 +- modules/lang/gdscript/config.el | 2 +- modules/lang/go/config.el | 2 +- modules/lang/haskell/config.el | 2 +- modules/lang/java/+lsp.el | 2 +- modules/lang/json/config.el | 2 +- modules/lang/julia/config.el | 2 +- modules/lang/kotlin/config.el | 2 +- modules/lang/lua/config.el | 2 +- modules/lang/php/config.el | 2 +- modules/lang/purescript/config.el | 2 +- modules/lang/python/config.el | 2 +- modules/lang/racket/config.el | 2 +- modules/lang/ruby/config.el | 2 +- modules/lang/scala/config.el | 2 +- modules/lang/sh/config.el | 4 ++-- modules/lang/swift/config.el | 2 +- modules/lang/yaml/config.el | 2 +- modules/lang/zig/config.el | 2 +- modules/tools/docker/config.el | 2 +- modules/tools/terraform/config.el | 2 +- 30 files changed, 34 insertions(+), 33 deletions(-) diff --git a/modules/lang/beancount/config.el b/modules/lang/beancount/config.el index e52c098ca..31b748709 100644 --- a/modules/lang/beancount/config.el +++ b/modules/lang/beancount/config.el @@ -15,7 +15,7 @@ (setq beancount-electric-currency t) (when (featurep! +lsp) - (add-hook 'beancount-mode-local-vars-hook #'lsp!)) + (add-hook 'beancount-mode-local-vars-hook #'lsp! 'append)) (map! :map beancount-mode-map "TAB" (cmds! (and outline-minor-mode (outline-on-heading-p)) diff --git a/modules/lang/crystal/config.el b/modules/lang/crystal/config.el index b3195d85e..036fab212 100644 --- a/modules/lang/crystal/config.el +++ b/modules/lang/crystal/config.el @@ -5,7 +5,7 @@ :definition #'crystal-def-jump :references #'crystal-tool-imp) (when (featurep! +lsp) - (add-hook 'crystal-mode-local-vars-hook #'lsp!)) + (add-hook 'crystal-mode-local-vars-hook #'lsp! 'append)) (map! :localleader :map crystal-mode-map :prefix "t" diff --git a/modules/lang/csharp/config.el b/modules/lang/csharp/config.el index df05f9cab..4da8c94a3 100644 --- a/modules/lang/csharp/config.el +++ b/modules/lang/csharp/config.el @@ -33,7 +33,7 @@ :post-handlers '(("| " "SPC"))) (when (featurep! +lsp) - (add-hook 'csharp-mode-local-vars-hook #'lsp!)) + (add-hook 'csharp-mode-local-vars-hook #'lsp! 'append)) (defadvice! +csharp-disable-clear-string-fences-a (fn &rest args) "This turns off `c-clear-string-fences' for `csharp-mode'. When diff --git a/modules/lang/dart/config.el b/modules/lang/dart/config.el index 966983cad..bf6f09070 100644 --- a/modules/lang/dart/config.el +++ b/modules/lang/dart/config.el @@ -1,9 +1,10 @@ ;;; lang/dart/config.el -*- lexical-binding: t; -*- (use-package! dart-mode - :when (featurep! +lsp) - :hook (dart-mode-local-vars . lsp!) + :defer t :config + (when (featurep! +lsp) + (add-hook 'dart-mode-local-vars-hook #'lsp! 'append)) (set-ligatures! '(dart-mode) ;; Functional :def "Function" diff --git a/modules/lang/elixir/config.el b/modules/lang/elixir/config.el index 743ca4571..df6cbb60b 100644 --- a/modules/lang/elixir/config.el +++ b/modules/lang/elixir/config.el @@ -37,7 +37,7 @@ (sp-local-pair "fn " " end" :unless '(sp-in-comment-p sp-in-string-p))) (when (featurep! +lsp) - (add-hook 'elixir-mode-local-vars-hook #'lsp!) + (add-hook 'elixir-mode-local-vars-hook #'lsp! 'append) (after! lsp-mode (add-to-list 'lsp-file-watch-ignored-directories "[/\\\\]_build\\'"))) diff --git a/modules/lang/elm/config.el b/modules/lang/elm/config.el index 6d2f40029..42b03352a 100644 --- a/modules/lang/elm/config.el +++ b/modules/lang/elm/config.el @@ -2,7 +2,7 @@ (after! elm-mode (if (featurep! +lsp) - (add-hook 'elm-mode-local-vars-hook #'lsp!) + (add-hook 'elm-mode-local-vars-hook #'lsp! 'append) (set-company-backend! 'elm-mode 'company-elm)) (set-repl-handler! 'elm-mode #'run-elm-interactive) diff --git a/modules/lang/erlang/config.el b/modules/lang/erlang/config.el index 8d34d10c8..7d604f87f 100644 --- a/modules/lang/erlang/config.el +++ b/modules/lang/erlang/config.el @@ -6,4 +6,4 @@ :mode ("/\\(?:app\\|sys\\)\\.config\\'" . erlang-mode) :config (when (featurep! +lsp) - (add-hook 'erlang-mode-local-vars-hook #'lsp!))) + (add-hook 'erlang-mode-local-vars-hook #'lsp! 'append))) diff --git a/modules/lang/ess/config.el b/modules/lang/ess/config.el index 8d3236fae..7d48da715 100644 --- a/modules/lang/ess/config.el +++ b/modules/lang/ess/config.el @@ -21,7 +21,7 @@ (set-docsets! 'ess-r-mode "R") (when (featurep! +lsp) - (add-hook 'ess-r-mode-local-vars-hook #'lsp!)) + (add-hook 'ess-r-mode-local-vars-hook #'lsp! 'append)) (set-repl-handler! 'ess-r-mode #'+ess/open-r-repl) (set-repl-handler! 'ess-julia-mode #'+ess/open-julia-repl) diff --git a/modules/lang/fortran/config.el b/modules/lang/fortran/config.el index d6dd9a556..95d43bb56 100644 --- a/modules/lang/fortran/config.el +++ b/modules/lang/fortran/config.el @@ -16,7 +16,7 @@ ;; --- LSP Configuration --- ;; (when (featurep! +lsp) (setq lsp-clients-fortls-args '("--enable_code_actions" "--hover_signature")) - (add-hook 'f90-mode-local-vars-hook #'lsp!)) + (add-hook 'f90-mode-local-vars-hook #'lsp! 'append)) ;; --- Keybindings --- ;; (map! :map f90-mode-map @@ -57,7 +57,7 @@ ;; Strangely, the built-in flycheck support seems to give better hints than the LSP. ;; (when (featurep! +lsp) ;; (setq lsp-clients-fortls-args '("--enable_code_actions" "--hover_signature")) - ;; (add-hook 'fortran-mode-local-vars-hook #'lsp!))) + ;; (add-hook 'fortran-mode-local-vars-hook #'lsp! 'append))) ;; --- Keybindings --- ;; (map! :map fortran-mode-map diff --git a/modules/lang/fsharp/config.el b/modules/lang/fsharp/config.el index c436a7853..257371c49 100644 --- a/modules/lang/fsharp/config.el +++ b/modules/lang/fsharp/config.el @@ -6,7 +6,7 @@ (if (featurep! +lsp) (progn (setq fsharp-ac-intellisense-enabled nil) - (add-hook 'fsharp-mode-local-vars-hook #'lsp!)) + (add-hook 'fsharp-mode-local-vars-hook #'lsp! 'append)) (setq fsharp-ac-use-popup nil) ; Use a buffer for docs rather than a pop-up (set-lookup-handlers! 'fsharp-mode :async t :definition #'fsharp-ac/gotodefn-at-point) (set-company-backend! 'fsharp-mode 'fsharp-ac/company-backend)) diff --git a/modules/lang/gdscript/config.el b/modules/lang/gdscript/config.el index 8a6c4e5c8..987642f27 100644 --- a/modules/lang/gdscript/config.el +++ b/modules/lang/gdscript/config.el @@ -14,7 +14,7 @@ :documentation #'gdscript-docs-browse-symbol-at-point) (when (featurep! +lsp) - (add-hook 'gdscript-mode-local-vars-hook #'lsp!)) + (add-hook 'gdscript-mode-local-vars-hook #'lsp! 'append)) (map! :localleader :map gdscript-mode-map diff --git a/modules/lang/go/config.el b/modules/lang/go/config.el index 9df23ad24..dd97318d8 100644 --- a/modules/lang/go/config.el +++ b/modules/lang/go/config.el @@ -20,7 +20,7 @@ "goimports")))) (if (featurep! +lsp) - (add-hook 'go-mode-local-vars-hook #'lsp!) + (add-hook 'go-mode-local-vars-hook #'lsp! 'append) (add-hook 'go-mode-hook #'go-eldoc-setup)) (map! :map go-mode-map diff --git a/modules/lang/haskell/config.el b/modules/lang/haskell/config.el index e5ee3f493..d0f462efe 100644 --- a/modules/lang/haskell/config.el +++ b/modules/lang/haskell/config.el @@ -46,7 +46,7 @@ (use-package! lsp-haskell :when (featurep! +lsp) :after lsp-mode - :preface (add-hook 'haskell-mode-local-vars-hook #'lsp!) + :preface (add-hook 'haskell-mode-local-vars-hook #'lsp! 'append) :config ;; Does some strange indentation if it pastes in the snippet (setq-hook! 'haskell-mode-hook yas-indent-line 'fixed)) diff --git a/modules/lang/java/+lsp.el b/modules/lang/java/+lsp.el index 7d62383da..facf78b77 100644 --- a/modules/lang/java/+lsp.el +++ b/modules/lang/java/+lsp.el @@ -5,7 +5,7 @@ :after lsp-mode :preface (setq lsp-java-workspace-dir (concat doom-etc-dir "java-workspace")) - (add-hook 'java-mode-local-vars-hook #'lsp!) + (add-hook 'java-mode-local-vars-hook #'lsp! 'append) :config (when (featurep! :tools debugger +lsp) (setq lsp-jt-root (concat lsp-java-server-install-dir "java-test/server/") diff --git a/modules/lang/json/config.el b/modules/lang/json/config.el index 09069f2fe..b96221d11 100644 --- a/modules/lang/json/config.el +++ b/modules/lang/json/config.el @@ -4,7 +4,7 @@ :mode "\\.js\\(?:on\\|[hl]int\\(?:rc\\)?\\)\\'" :init (when (featurep! +lsp) - (add-hook 'json-mode-local-vars-hook #'lsp!)) + (add-hook 'json-mode-local-vars-hook #'lsp! 'append)) :config (set-electric! 'json-mode :chars '(?\n ?: ?{ ?})) diff --git a/modules/lang/julia/config.el b/modules/lang/julia/config.el index fc3ad0882..d97811284 100644 --- a/modules/lang/julia/config.el +++ b/modules/lang/julia/config.el @@ -66,7 +66,7 @@ (when (featurep! +lsp) - (add-hook 'julia-mode-local-vars-hook #'lsp!)) + (add-hook 'julia-mode-local-vars-hook #'lsp! 'append)) (use-package! lsp-julia diff --git a/modules/lang/kotlin/config.el b/modules/lang/kotlin/config.el index a4baf0b07..3c95c9b96 100644 --- a/modules/lang/kotlin/config.el +++ b/modules/lang/kotlin/config.el @@ -2,7 +2,7 @@ (after! kotlin-mode (when (featurep! +lsp) - (add-hook 'kotlin-mode-local-vars-hook #'lsp!)) + (add-hook 'kotlin-mode-local-vars-hook #'lsp! 'append)) (set-docsets! 'kotlin-mode "Kotlin") (set-repl-handler! 'kotlin-mode #'kotlin-repl) diff --git a/modules/lang/lua/config.el b/modules/lang/lua/config.el index 5a4cedb5a..b332826ae 100644 --- a/modules/lang/lua/config.el +++ b/modules/lang/lua/config.el @@ -19,7 +19,7 @@ (set-company-backend! 'lua-mode '(company-lua company-yasnippet)) (when (featurep! +lsp) - (add-hook 'lua-mode-local-vars-hook #'lsp!) + (add-hook 'lua-mode-local-vars-hook #'lsp! 'append) (when (featurep! :tools lsp +eglot) (defvar +lua-lsp-dir (concat doom-etc-dir "lsp/lua-language-server/") diff --git a/modules/lang/php/config.el b/modules/lang/php/config.el index 47cf2b73c..8eb917f63 100644 --- a/modules/lang/php/config.el +++ b/modules/lang/php/config.el @@ -58,7 +58,7 @@ 'company-dabbrev-code)) (when (executable-find "php-language-server.php") (setq lsp-clients-php-server-command "php-language-server.php")) - (add-hook 'php-mode-local-vars-hook #'lsp!)) + (add-hook 'php-mode-local-vars-hook #'lsp! 'append)) ;; Use the smallest `sp-max-pair-length' for optimum `smartparens' performance (setq-hook! 'php-mode-hook sp-max-pair-length 5) diff --git a/modules/lang/purescript/config.el b/modules/lang/purescript/config.el index 89d8c5d66..7221da13f 100644 --- a/modules/lang/purescript/config.el +++ b/modules/lang/purescript/config.el @@ -2,7 +2,7 @@ (after! purescript-mode (when (featurep! +lsp) - (add-hook 'purescript-mode-local-vars-hook #'lsp!)) + (add-hook 'purescript-mode-local-vars-hook #'lsp! 'append)) (add-hook! 'purescript-mode-hook #'purescript-indentation-mode diff --git a/modules/lang/python/config.el b/modules/lang/python/config.el index 3673e0806..5e25c79af 100644 --- a/modules/lang/python/config.el +++ b/modules/lang/python/config.el @@ -21,7 +21,7 @@ python-indent-guess-indent-offset-verbose nil) (when (featurep! +lsp) - (add-hook 'python-mode-local-vars-hook #'lsp!) + (add-hook 'python-mode-local-vars-hook #'lsp! 'append) ;; Use "mspyls" in eglot if in PATH (when (executable-find "Microsoft.Python.LanguageServer") (set-eglot-client! 'python-mode '("Microsoft.Python.LanguageServer")))) diff --git a/modules/lang/racket/config.el b/modules/lang/racket/config.el index f01f87962..c5a0d5052 100644 --- a/modules/lang/racket/config.el +++ b/modules/lang/racket/config.el @@ -27,7 +27,7 @@ #'highlight-quoted-mode) (when (featurep! +lsp) - (add-hook 'racket-mode-local-vars-hook #'lsp!)) + (add-hook 'racket-mode-local-vars-hook #'lsp! 'append)) (when (featurep! +xp) (add-hook 'racket-mode-local-vars-hook #'racket-xp-mode) diff --git a/modules/lang/ruby/config.el b/modules/lang/ruby/config.el index f6a8d8c3e..c39686e1b 100644 --- a/modules/lang/ruby/config.el +++ b/modules/lang/ruby/config.el @@ -19,7 +19,7 @@ (set-repl-handler! 'ruby-mode #'inf-ruby) (when (featurep! +lsp) - (add-hook 'ruby-mode-local-vars-hook #'lsp!)) + (add-hook 'ruby-mode-local-vars-hook #'lsp! 'append)) (after! inf-ruby (add-hook 'inf-ruby-mode-hook #'doom-mark-buffer-as-real-h) diff --git a/modules/lang/scala/config.el b/modules/lang/scala/config.el index 10611e68a..470eb0dcc 100644 --- a/modules/lang/scala/config.el +++ b/modules/lang/scala/config.el @@ -17,7 +17,7 @@ (when (featurep! +lsp) (setq-hook! 'scala-mode-hook lsp-enable-indentation nil) - (add-hook 'scala-mode-local-vars-hook #'lsp!)) + (add-hook 'scala-mode-local-vars-hook #'lsp! 'append)) (set-ligatures! 'scala-mode ;; Functional diff --git a/modules/lang/sh/config.el b/modules/lang/sh/config.el index 1649e0786..16e23a610 100755 --- a/modules/lang/sh/config.el +++ b/modules/lang/sh/config.el @@ -38,7 +38,7 @@ :dot "." :dot "source") (when (featurep! +lsp) - (add-hook 'sh-mode-local-vars-hook #'lsp!)) + (add-hook 'sh-mode-local-vars-hook #'lsp! 'append)) (setq sh-indent-after-continuation 'always) @@ -92,4 +92,4 @@ :defer t :config (when (featurep! +lsp) - (add-hook 'powershell-mode-local-vars-hook #'lsp!))) + (add-hook 'powershell-mode-local-vars-hook #'lsp! 'append))) diff --git a/modules/lang/swift/config.el b/modules/lang/swift/config.el index 15a2c5f96..dc0fc6074 100644 --- a/modules/lang/swift/config.el +++ b/modules/lang/swift/config.el @@ -22,7 +22,7 @@ (use-package! lsp-sourcekit :when (featurep! +lsp) :after swift-mode - :init (add-hook 'swift-mode-local-vars-hook #'lsp!) + :init (add-hook 'swift-mode-local-vars-hook #'lsp! 'append) :config (setq lsp-sourcekit-executable (cl-find-if #'executable-find diff --git a/modules/lang/yaml/config.el b/modules/lang/yaml/config.el index f9f081b57..29cdd96ce 100644 --- a/modules/lang/yaml/config.el +++ b/modules/lang/yaml/config.el @@ -4,6 +4,6 @@ :mode "Procfile\\'" :init (when (featurep! +lsp) - (add-hook 'yaml-mode-local-vars-hook #'lsp!)) + (add-hook 'yaml-mode-local-vars-hook #'lsp! 'append)) :config (setq-hook! 'yaml-mode-hook tab-width yaml-indent-offset)) diff --git a/modules/lang/zig/config.el b/modules/lang/zig/config.el index eaa0a08ac..09a8e5d7e 100644 --- a/modules/lang/zig/config.el +++ b/modules/lang/zig/config.el @@ -13,7 +13,7 @@ (setq zig-format-on-save nil) ; rely on :editor format instead (when (featurep! +lsp) - (add-hook 'zig-mode-local-vars-hook #'lsp!)) + (add-hook 'zig-mode-local-vars-hook #'lsp! 'append)) (when (featurep! :checkers syntax) (flycheck-define-checker zig diff --git a/modules/tools/docker/config.el b/modules/tools/docker/config.el index 3320eb686..83f3ac53d 100644 --- a/modules/tools/docker/config.el +++ b/modules/tools/docker/config.el @@ -4,4 +4,4 @@ (set-docsets! 'dockerfile-mode "Docker") (when (featurep! +lsp) - (add-hook 'dockerfile-mode-local-vars-hook #'lsp!))) + (add-hook 'dockerfile-mode-local-vars-hook #'lsp! 'append))) diff --git a/modules/tools/terraform/config.el b/modules/tools/terraform/config.el index 32fe939c1..c9567b35f 100644 --- a/modules/tools/terraform/config.el +++ b/modules/tools/terraform/config.el @@ -1,7 +1,7 @@ ;;; tools/terraform/config.el -*- lexical-binding: t; -*- (when (featurep! +lsp) - (add-hook 'terraform-mode-local-vars-hook #'lsp!)) + (add-hook 'terraform-mode-local-vars-hook #'lsp! 'append)) (after! terraform-mode