diff --git a/modules/lang/agda/config.el b/modules/lang/agda/config.el index 2920abd54..074c650e9 100644 --- a/modules/lang/agda/config.el +++ b/modules/lang/agda/config.el @@ -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!)) diff --git a/modules/lang/cc/config.el b/modules/lang/cc/config.el index 40fb8069e..dc5361bc2 100644 --- a/modules/lang/cc/config.el +++ b/modules/lang/cc/config.el @@ -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!)) diff --git a/modules/lang/csharp/config.el b/modules/lang/csharp/config.el index cdd4bb6fd..e018a6984 100644 --- a/modules/lang/csharp/config.el +++ b/modules/lang/csharp/config.el @@ -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!)) diff --git a/modules/lang/elixir/config.el b/modules/lang/elixir/config.el index de356246b..f6cffb5df 100644 --- a/modules/lang/elixir/config.el +++ b/modules/lang/elixir/config.el @@ -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!)) diff --git a/modules/lang/elm/config.el b/modules/lang/elm/config.el index df263a0d7..8e216d0f2 100644 --- a/modules/lang/elm/config.el +++ b/modules/lang/elm/config.el @@ -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!)) diff --git a/modules/lang/go/config.el b/modules/lang/go/config.el index 7231839b0..619dceb90 100644 --- a/modules/lang/go/config.el +++ b/modules/lang/go/config.el @@ -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!)) diff --git a/modules/lang/java/config.el b/modules/lang/java/config.el index 0b06a1e61..2d1c34735 100644 --- a/modules/lang/java/config.el +++ b/modules/lang/java/config.el @@ -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!)) diff --git a/modules/lang/javascript/config.el b/modules/lang/javascript/config.el index bbfa47ef5..971d16220 100644 --- a/modules/lang/javascript/config.el +++ b/modules/lang/javascript/config.el @@ -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!)) diff --git a/modules/lang/json/config.el b/modules/lang/json/config.el index a088c54d2..1428c55cf 100644 --- a/modules/lang/json/config.el +++ b/modules/lang/json/config.el @@ -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!)) diff --git a/modules/lang/julia/config.el b/modules/lang/julia/config.el index 1969d6179..4602c378e 100644 --- a/modules/lang/julia/config.el +++ b/modules/lang/julia/config.el @@ -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 ;; (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!)) diff --git a/modules/lang/nix/config.el b/modules/lang/nix/config.el index 41ee296b6..0222b3e5e 100644 --- a/modules/lang/nix/config.el +++ b/modules/lang/nix/config.el @@ -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!)) diff --git a/modules/lang/php/config.el b/modules/lang/php/config.el index c6f435b24..8f91c182b 100644 --- a/modules/lang/php/config.el +++ b/modules/lang/php/config.el @@ -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!)) diff --git a/modules/lang/python/config.el b/modules/lang/python/config.el index cde0ad3cd..00218a10b 100644 --- a/modules/lang/python/config.el +++ b/modules/lang/python/config.el @@ -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!)) diff --git a/modules/lang/ruby/config.el b/modules/lang/ruby/config.el index 3ffec7bc0..9a8841fac 100644 --- a/modules/lang/ruby/config.el +++ b/modules/lang/ruby/config.el @@ -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!)) diff --git a/modules/lang/rust/config.el b/modules/lang/rust/config.el index 3fcab041a..16be1f97b 100644 --- a/modules/lang/rust/config.el +++ b/modules/lang/rust/config.el @@ -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!)) diff --git a/modules/lang/scala/config.el b/modules/lang/scala/config.el index 0e427e909..6bc663a42 100644 --- a/modules/lang/scala/config.el +++ b/modules/lang/scala/config.el @@ -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!)) diff --git a/modules/lang/sh/config.el b/modules/lang/sh/config.el index 684781bea..c9425ee72 100755 --- a/modules/lang/sh/config.el +++ b/modules/lang/sh/config.el @@ -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!)) diff --git a/modules/lang/swift/config.el b/modules/lang/swift/config.el index 0de022376..7f38cab96 100644 --- a/modules/lang/swift/config.el +++ b/modules/lang/swift/config.el @@ -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!)) diff --git a/modules/lang/web/+css.el b/modules/lang/web/+css.el index 3d64cd092..12ecd8486 100644 --- a/modules/lang/web/+css.el +++ b/modules/lang/web/+css.el @@ -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)) diff --git a/modules/lang/web/+html.el b/modules/lang/web/+html.el index 37ed70cfe..526ddeda1 100644 --- a/modules/lang/web/+html.el +++ b/modules/lang/web/+html.el @@ -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!)) diff --git a/modules/lang/web/config.el b/modules/lang/web/config.el index 34ad2d069..2185048c0 100644 --- a/modules/lang/web/config.el +++ b/modules/lang/web/config.el @@ -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!)) diff --git a/modules/lang/zig/config.el b/modules/lang/zig/config.el index 94b3b7355..5a5c1d385 100644 --- a/modules/lang/zig/config.el +++ b/modules/lang/zig/config.el @@ -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!))