refactor(:lang): move tree-sitter init

Moved add-hook calls (for tree-sitter initialization) into their
respective modes' config blocks, or nearby, to be consistent with how
other, similar tools (like lsp!) are initialized, and does so at
runtime, rather than at expansion/compile time, which eval-when! caused.
This commit is contained in:
Henrik Lissner 2022-07-25 17:34:44 +02:00
parent 26b8383cbd
commit a70e634ebd
No known key found for this signature in database
GPG key ID: B60957CA074D39A3
22 changed files with 81 additions and 96 deletions

View file

@ -10,6 +10,12 @@
(after! agda2-mode
(set-lookup-handlers! 'agda2-mode
:definition #'agda2-goto-definition-keyboard)
(when (featurep! +tree-sitter)
(add-hook! '(agda-mode-local-vars-hook
agda2-mode-local-vars-hook)
:append #'tree-sitter!))
(map! :map agda2-mode-map
:localleader
"?" #'agda2-show-goals
@ -38,9 +44,3 @@
"h" #'agda2-display-implicit-arguments
"q" #'agda2-quit
"r" #'agda2-restart)))
;; Tree Sitter
(eval-when! (featurep! +tree-sitter)
(add-hook! '(agda-mode-local-vars-hook
agda2-mode-local-vars-hook)
#'tree-sitter!))

View file

@ -67,6 +67,11 @@ This is ignored by ccls.")
:return "return"
:yield "#require")
(when (featurep! +tree-sitter)
(add-hook! '(c-mode-local-vars-hook
c++-mode-local-vars-hook)
:append #'tree-sitter!))
;; HACK Suppress 'Args out of range' error in when multiple modifications are
;; performed at once in a `c++-mode' buffer, e.g. with `iedit' or
;; multiple cursors.
@ -304,9 +309,3 @@ If rtags or rdm aren't available, fail silently instead of throwing a breaking e
"-isystem/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include"
"-isystem/usr/local/include"]
:resourceDir (cdr (doom-call-process "clang" "-print-resource-dir"))))))))
;; Tree sitter
(eval-when! (featurep! +tree-sitter)
(add-hook! '(c-mode-local-vars-hook
c++-mode-local-vars-hook)
#'tree-sitter!))

View file

@ -35,6 +35,9 @@
(when (featurep! +lsp)
(add-hook 'csharp-mode-local-vars-hook #'lsp! 'append))
(when (featurep! +tree-sitter)
(add-hook 'csharp-mode-local-vars-hook #'tree-sitter! 'append))
(defadvice! +csharp-disable-clear-string-fences-a (fn &rest args)
"This turns off `c-clear-string-fences' for `csharp-mode'. When
on for `csharp-mode' font lock breaks after an interpolated string
@ -72,7 +75,3 @@ or terminating simple string."
(use-package! sln-mode :mode "\\.sln\\'")
;; Tree sitter
(eval-when! (featurep! +tree-sitter)
(add-hook! 'csharp-mode-local-vars-hook #'tree-sitter!))

View file

@ -41,6 +41,9 @@
(after! lsp-mode
(add-to-list 'lsp-file-watch-ignored-directories "[/\\\\]_build\\'")))
(when (featurep! +tree-sitter)
(add-hook 'elixir-mode-local-vars-hook #'tree-sitter! 'append))
(after! highlight-numbers
(puthash 'elixir-mode
"\\_<-?[[:digit:]]+\\(?:_[[:digit:]]\\{3\\}\\)*\\_>"
@ -99,6 +102,3 @@
"T" #'exunit-toggle-file-and-test
"t" #'exunit-toggle-file-and-test-other-window
"s" #'exunit-verify-single))
(eval-when! (featurep! +tree-sitter)
(add-hook! 'elixir-mode-local-vars-hook #'tree-sitter!))

View file

@ -4,6 +4,9 @@
(if (featurep! +lsp)
(add-hook 'elm-mode-local-vars-hook #'lsp! 'append)
(set-company-backend! 'elm-mode 'company-elm))
(when (featurep! +tree-sitter)
(add-hook 'elm-mode-local-vars-hook #'tree-sitter! 'append))
(set-repl-handler! 'elm-mode #'run-elm-interactive)
(set-ligatures! 'elm-mode
@ -21,7 +24,3 @@
:when (featurep! :checkers syntax)
:after elm-mode
:config (add-to-list 'flycheck-checkers 'elm))
;; Tree sitter
(eval-when! (featurep! +tree-sitter)
(add-hook! 'elm-mode-local-vars-hook #'tree-sitter!))

View file

@ -23,6 +23,9 @@
(add-hook 'go-mode-local-vars-hook #'lsp! 'append)
(add-hook 'go-mode-hook #'go-eldoc-setup))
(when (featurep! +tree-sitter)
(add-hook 'go-mode-local-vars-hook #'tree-sitter! 'append))
(map! :map go-mode-map
:localleader
"a" #'go-tag-add
@ -76,7 +79,3 @@
(use-package! flycheck-golangci-lint
:when (featurep! :checkers syntax)
:hook (go-mode . flycheck-golangci-lint-setup))
;; Tree sitter
(eval-when! (featurep! +tree-sitter)
(add-hook! 'go-mode-local-vars-hook #'tree-sitter!))

View file

@ -30,6 +30,9 @@ If the depth is 2, the first two directories are removed: net.lissner.game.")
((featurep! :tools lsp +eglot))
((featurep! +lsp) (load! "+lsp")))
(when (featurep! +tree-sitter)
(add-hook 'java-mode-local-vars-hook #'tree-sitter! 'append))
;;
;;; Common packages
@ -49,7 +52,3 @@ If the depth is 2, the first two directories are removed: net.lissner.game.")
(set-docsets! 'groovy-mode "Groovy" "Groovy_JDK")
(set-eval-handler! 'groovy-mode "groovy")
(set-repl-handler! 'groovy-mode #'+java/open-groovy-repl))
;; Tree sitter
(eval-when! (featurep! +tree-sitter)
(add-hook! 'java-mode-local-vars-hook #'tree-sitter!))

View file

@ -166,6 +166,13 @@
;;
;;; Tools
(when (featurep! +tree-sitter)
(add-hook! '(js2-mode-local-vars-hook
typescript-mode-local-vars-hook
typescript-tsx-mode-local-vars-hook
rjsx-mode-local-vars-hook)
:append #'tree-sitter!))
(add-hook! '(typescript-mode-local-vars-hook
typescript-tsx-mode-local-vars-hook
web-mode-local-vars-hook
@ -320,12 +327,3 @@ to tide."
(def-project-mode! +javascript-gulp-mode
:when (locate-dominating-file default-directory "gulpfile.js"))
;; Tree sitter
(eval-when! (featurep! +tree-sitter)
(add-hook! '(js-mode-local-vars-hook
js2-mode-local-vars-hook
typescript-mode-local-vars-hook
typescript-tsx-mode-local-vars-hook
rjsx-mode-local-vars-hook)
#'tree-sitter!))

View file

@ -5,6 +5,10 @@
:init
(when (featurep! +lsp)
(add-hook 'json-mode-local-vars-hook #'lsp! 'append))
(when (featurep! +tree-sitter)
(add-hook! '(json-mode-local-vars-hook
jsonc-mode-local-vars-hook)
:append #'tree-sitter!))
:config
(set-electric! 'json-mode :chars '(?\n ?: ?{ ?}))
@ -29,8 +33,3 @@
:map json-mode-map
:localleader
"s" #'counsel-jq))
(eval-when! (featurep! +tree-sitter)
(add-hook! '(json-mode-local-vars-hook
jsonc-mode-local-vars-hook)
#'tree-sitter!))

View file

@ -5,6 +5,12 @@
:config
(set-repl-handler! 'julia-mode #'+julia/open-repl)
(when (featurep! +lsp)
(add-hook 'julia-mode-local-vars-hook #'lsp! 'append))
(when (featurep! +tree-sitter)
(add-hook 'julia-mode-local-vars-hook #'tree-sitter! 'append))
;; Borrow matlab.el's fontification of math operators. From
;; <https://web.archive.org/web/20170326183805/https://ogbe.net/emacsconfig.html>
(dolist (mode '(julia-mode ess-julia-mode))
@ -65,10 +71,6 @@
(term-set-escape-char ?\C-c)))
(when (featurep! +lsp)
(add-hook 'julia-mode-local-vars-hook #'lsp! 'append))
(use-package! lsp-julia
:when (featurep! +lsp)
:unless (featurep! :tools lsp +eglot)
@ -94,7 +96,3 @@
;; Prevent timeout while installing LanguageServer.jl
(setq-hook! 'julia-mode-hook eglot-connect-timeout (max eglot-connect-timeout 60))
:config (eglot-jl-init))
;; Tree sitter
(eval-when! (featurep! +tree-sitter)
(add-hook! 'julia-mode-local-vars-hook #'tree-sitter!))

View file

@ -31,6 +31,8 @@
(when (featurep! +lsp)
(add-hook 'nix-mode-local-vars-hook #'lsp! 'append))
(when (featurep! +tree-sitter)
(add-hook 'nix-mode-local-vars-hook #'tree-sitter! 'append))
(map! :localleader
:map nix-mode-map
@ -42,15 +44,14 @@
"u" #'nix-unpack
"o" #'+nix/lookup-option))
(use-package! nix-drv-mode
:mode "\\.drv\\'")
(use-package! nix-update
:commands nix-update-fetch)
(use-package! nix-repl
:commands nix-repl-show)
;; Tree sitter
(eval-when! (featurep! +tree-sitter)
(add-hook! 'nix-mode-local-vars-hook #'tree-sitter!))

View file

@ -60,6 +60,9 @@
(setq lsp-clients-php-server-command "php-language-server.php"))
(add-hook 'php-mode-local-vars-hook #'lsp! 'append))
(when (featurep! +tree-sitter)
(add-hook 'php-mode-local-vars-hook #'tree-sitter! 'append))
;; Use the smallest `sp-max-pair-length' for optimum `smartparens' performance
(setq-hook! 'php-mode-hook sp-max-pair-length 5)
@ -176,7 +179,3 @@
:on-exit
(setq phpunit-args nil
phpunit-executable nil))
;; Tree sitter
(eval-when! (featurep! +tree-sitter)
(add-hook! 'php-mode-local-vars-hook #'tree-sitter!))

View file

@ -25,6 +25,9 @@
;; Use "mspyls" in eglot if in PATH
(when (executable-find "Microsoft.Python.LanguageServer")
(set-eglot-client! 'python-mode '("Microsoft.Python.LanguageServer"))))
(when (featurep! +tree-sitter)
(add-hook 'python-mode-local-vars-hook #'tree-sitter! 'append))
:config
(set-repl-handler! 'python-mode #'+python/open-repl
:persist t
@ -428,7 +431,3 @@
(use-package! lsp-pyright
:when (featurep! +pyright)
:after lsp-mode))
;; Tree sitter
(eval-when! (featurep! +tree-sitter)
(add-hook! 'python-mode-local-vars-hook #'tree-sitter!))

View file

@ -21,6 +21,9 @@
(when (featurep! +lsp)
(add-hook 'ruby-mode-local-vars-hook #'lsp! 'append))
(when (featurep! +tree-sitter)
(add-hook 'ruby-mode-local-vars-hook #'tree-sitter! 'append))
(after! inf-ruby
(add-hook 'inf-ruby-mode-hook #'doom-mark-buffer-as-real-h)
;; switch to inf-ruby from compile if we detect a breakpoint has been hit
@ -195,7 +198,3 @@
(map! :localleader
:map projectile-rails-mode-map
"r" #'projectile-rails-command-map))
;; Tree sitter
(eval-when! (featurep! +tree-sitter)
(add-hook! 'ruby-mode-local-vars-hook #'tree-sitter!))

View file

@ -48,6 +48,9 @@
'lsp-mode))
(add-hook 'rustic-mode-local-vars-hook #'rustic-setup-lsp 'append))
(when (featurep! +tree-sitter)
(add-hook 'rustic-mode-local-vars-hook #'tree-sitter! 'append))
;; HACK If lsp/eglot isn't available, it attempts to install lsp-mode via
;; package.el. Doom manages its own dependencies through straight so disable
;; this behavior to avoid package-not-initialized errors.
@ -81,7 +84,3 @@
(set-lookup-handlers! 'rustic-mode
:definition '(racer-find-definition :async t)
:documentation '+rust-racer-lookup-documentation))
;; Tree sitter
(eval-when! (featurep! +tree-sitter)
(add-hook! 'rustic-mode-local-vars-hook #'tree-sitter!))

View file

@ -19,6 +19,9 @@
(setq-hook! 'scala-mode-hook lsp-enable-indentation nil)
(add-hook 'scala-mode-local-vars-hook #'lsp! 'append))
(when (featurep! +tree-sitter)
(add-hook 'scala-mode-local-vars-hook #'tree-sitter! 'append))
(set-ligatures! 'scala-mode
;; Functional
:def "def"
@ -50,7 +53,3 @@
(use-package! sbt-mode
:after scala-mode
:config (set-repl-handler! 'scala-mode #'+scala/open-repl :persist t))
;; Tree sitter
(eval-when! (featurep! +tree-sitter)
(add-hook! 'scala-mode-local-vars-hook #'tree-sitter!))

View file

@ -40,6 +40,9 @@
(when (featurep! +lsp)
(add-hook 'sh-mode-local-vars-hook #'lsp! 'append))
(when (featurep! +tree-sitter)
(add-hook 'sh-mode-local-vars-hook #'tree-sitter! 'append))
(setq sh-indent-after-continuation 'always)
;; [pedantry intensifies]
@ -93,7 +96,3 @@
:config
(when (featurep! +lsp)
(add-hook 'powershell-mode-local-vars-hook #'lsp! 'append)))
;; Tree sitter
(eval-when! (featurep! +tree-sitter)
(add-hook! 'sh-mode-local-vars-hook #'tree-sitter!))

View file

@ -1,7 +1,10 @@
;;; lang/swift/config.el -*- lexical-binding: t; -*-
(after! swift-mode
(set-repl-handler! 'swift-mode #'run-swift))
(set-repl-handler! 'swift-mode #'run-swift)
(when (featurep! +tree-sitter)
(add-hook 'swift-mode-local-vars-hook #'tree-sitter! 'append)))
(use-package! flycheck-swift
@ -31,7 +34,3 @@
"sourcekit"
"/Library/Developer/Toolchains/swift-latest.xctoolchain/usr/bin/sourcekit-lsp"
"/Library/Developer/Toolchains/swift-latest.xctoolchain/usr/bin/sourcekit"))))
;; Tree sitter
(eval-when! (featurep! +tree-sitter)
(add-hook! 'swift-mode-local-vars-hook #'tree-sitter!))

View file

@ -77,3 +77,6 @@ If set to `nil', disable all the above behaviors.")
sass-mode-local-vars-hook
less-css-mode-local-vars-hook)
#'lsp!))
(when (featurep! +tree-sitter)
(add-hook 'css-mode-local-vars-hook #'tree-sitter! 'append))

View file

@ -168,3 +168,8 @@
web-mode-local-vars-hook
nxml-mode-local-vars-hook)
#'lsp!))
(when (featurep! +tree-sitter)
(add-hook! '(html-mode-local-vars-hook
mhtml-mode-local-vars-hook)
:append #'tree-sitter!))

View file

@ -55,10 +55,3 @@
(def-project-mode! +web-phaser-mode
:modes '(+javascript-npm-mode)
:when (+javascript-npm-dep-p '(or phaser phaser-ce))))
;; Tree sitter
(eval-when! (featurep! +tree-sitter)
(add-hook! '(html-mode-local-vars-hook
mhtml-mode-local-vars-hook
css-mode-local-vars-hook)
#'tree-sitter!))

View file

@ -15,6 +15,9 @@
(when (featurep! +lsp)
(add-hook 'zig-mode-local-vars-hook #'lsp! 'append))
(when (featurep! +tree-sitter)
(add-hook 'zig-mode-local-vars-hook #'tree-sitter! 'append))
(when (featurep! :checkers syntax)
(flycheck-define-checker zig
"A zig syntax checker using zig's `ast-check` command."
@ -30,6 +33,3 @@
"f" #'zig-format-buffer
"r" #'zig-run
"t" #'zig-test-buffer))
(eval-when! (featurep! +tree-sitter)
(add-hook! 'zig-mode-local-vars-hook #'tree-sitter!))