diff --git a/modules/lang/agda/doctor.el b/modules/lang/agda/doctor.el new file mode 100644 index 000000000..e5715325b --- /dev/null +++ b/modules/lang/agda/doctor.el @@ -0,0 +1,5 @@ +;;; lang/agda/doctor.el -*- lexical-binding: t; -*- + +(assert! (or (not (featurep! +tree-sitter)) + (featurep! :tools tree-sitter)) + "This module requires (:tools tree-sitter)") diff --git a/modules/lang/cc/doctor.el b/modules/lang/cc/doctor.el index 3c3facd0f..8cb6f9e87 100644 --- a/modules/lang/cc/doctor.el +++ b/modules/lang/cc/doctor.el @@ -5,6 +5,10 @@ (featurep! :tools lsp)) "This module requires (:tools lsp)") +(assert! (or (not (featurep! +tree-sitter)) + (featurep! :tools tree-sitter)) + "This module requires (:tools tree-sitter)") + (when (require 'rtags nil t) ;; rtags (when-let (bins (cl-remove-if #'rtags-executable-find diff --git a/modules/lang/csharp/doctor.el b/modules/lang/csharp/doctor.el index b9a56317f..35592ca3e 100644 --- a/modules/lang/csharp/doctor.el +++ b/modules/lang/csharp/doctor.el @@ -5,3 +5,7 @@ (let ((omnisharp-bin (or omnisharp-server-executable-path (omnisharp--server-installation-path t)))) (unless (file-exists-p omnisharp-bin) (warn! "Omnisharp server isn't installed, completion won't work")))) + +(assert! (or (not (featurep! +tree-sitter)) + (featurep! :tools tree-sitter)) + "This module requires (:tools tree-sitter)") diff --git a/modules/lang/elm/doctor.el b/modules/lang/elm/doctor.el new file mode 100644 index 000000000..73c309eed --- /dev/null +++ b/modules/lang/elm/doctor.el @@ -0,0 +1,5 @@ +;;; lang/elm/doctor.el -*- lexical-binding: t; -*- + +(assert! (or (not (featurep! +tree-sitter)) + (featurep! :tools tree-sitter)) + "This module requires (:tools tree-sitter)") diff --git a/modules/lang/go/doctor.el b/modules/lang/go/doctor.el index 5a8c4ba3e..1f8c18ff7 100644 --- a/modules/lang/go/doctor.el +++ b/modules/lang/go/doctor.el @@ -5,6 +5,10 @@ (featurep! :tools lsp)) "This module requires (:tools lsp)") +(assert! (or (not (featurep! +tree-sitter)) + (featurep! :tools tree-sitter)) + "This module requires (:tools tree-sitter)") + (unless (executable-find "guru") (warn! "Couldn't find guru. Refactoring commands (go-guru-*) won't work")) diff --git a/modules/lang/java/doctor.el b/modules/lang/java/doctor.el index 4a9372c23..13746350c 100644 --- a/modules/lang/java/doctor.el +++ b/modules/lang/java/doctor.el @@ -5,6 +5,10 @@ (featurep! :tools lsp)) "This module requires (:tools lsp)") +(assert! (or (not (featurep! +tree-sitter)) + (featurep! :tools tree-sitter)) + "This module requires (:tools tree-sitter)") + (unless (executable-find "javac") (warn! "Couldn't find the javac executable, are you sure the JDK is installed?")) diff --git a/modules/lang/javascript/doctor.el b/modules/lang/javascript/doctor.el index e4c3dea63..087bde196 100644 --- a/modules/lang/javascript/doctor.el +++ b/modules/lang/javascript/doctor.el @@ -4,3 +4,7 @@ (assert! (or (not (featurep! +lsp)) (featurep! :tools lsp)) "This module requires (:tools lsp)") + +(assert! (or (not (featurep! +tree-sitter)) + (featurep! :tools tree-sitter)) + "This module requires (:tools tree-sitter)") diff --git a/modules/lang/json/doctor.el b/modules/lang/json/doctor.el index f1dc3009a..ce2226de7 100644 --- a/modules/lang/json/doctor.el +++ b/modules/lang/json/doctor.el @@ -3,3 +3,7 @@ (when (and (featurep! :completion ivy) (not (executable-find "jq"))) (warn! "Couldn't find jq. counsel-jq won't work." )) + +(assert! (or (not (featurep! +tree-sitter)) + (featurep! :tools tree-sitter)) + "This module requires (:tools tree-sitter)") diff --git a/modules/lang/julia/doctor.el b/modules/lang/julia/doctor.el index ea64cf495..193faed09 100644 --- a/modules/lang/julia/doctor.el +++ b/modules/lang/julia/doctor.el @@ -4,6 +4,10 @@ (featurep! :tools lsp)) "This module requires (:tools lsp)") +(assert! (or (not (featurep! +tree-sitter)) + (featurep! :tools tree-sitter)) + "This module requires (:tools tree-sitter)") + (when (featurep! +lsp) (let ((args (cond ((require 'eglot-jl nil t) diff --git a/modules/lang/ocaml/doctor.el b/modules/lang/ocaml/doctor.el index 4e5445de5..712931aba 100644 --- a/modules/lang/ocaml/doctor.el +++ b/modules/lang/ocaml/doctor.el @@ -5,6 +5,10 @@ (featurep! :tools lsp)) "This module requires (:tools lsp)") +(assert! (or (not (featurep! +tree-sitter)) + (featurep! :tools tree-sitter)) + "This module requires (:tools tree-sitter)") + (unless (executable-find "ocamlmerlin") (warn! "Couldn't find ocamlmerlin. Lookup, completion and syntax checking won't work")) diff --git a/modules/lang/php/doctor.el b/modules/lang/php/doctor.el index 4e2ed45fc..95b984ce9 100644 --- a/modules/lang/php/doctor.el +++ b/modules/lang/php/doctor.el @@ -4,3 +4,7 @@ (assert! (or (not (featurep! +lsp)) (featurep! :tools lsp)) "This module requires (:tools lsp)") + +(assert! (or (not (featurep! +tree-sitter)) + (featurep! :tools tree-sitter)) + "This module requires (:tools tree-sitter)") diff --git a/modules/lang/python/doctor.el b/modules/lang/python/doctor.el index d1d2c08e4..b45f14f24 100644 --- a/modules/lang/python/doctor.el +++ b/modules/lang/python/doctor.el @@ -4,6 +4,10 @@ (featurep! :tools lsp)) "This module requires (:tools lsp)") +(assert! (or (not (featurep! +tree-sitter)) + (featurep! :tools tree-sitter)) + "This module requires (:tools tree-sitter)") + (if (not (or (executable-find "python") (executable-find "python3"))) (error! "Couldn't find python in your PATH") diff --git a/modules/lang/ruby/doctor.el b/modules/lang/ruby/doctor.el index 5da563240..df74e9063 100644 --- a/modules/lang/ruby/doctor.el +++ b/modules/lang/ruby/doctor.el @@ -4,6 +4,10 @@ (featurep! :tools lsp)) "This module requires (:tools lsp)") +(assert! (or (not (featurep! +tree-sitter)) + (featurep! :tools tree-sitter)) + "This module requires (:tools tree-sitter)") + (unless (executable-find "ruby") (warn! "Ruby isn't installed.")) diff --git a/modules/lang/rust/doctor.el b/modules/lang/rust/doctor.el index 689d54285..70a5d2bc7 100644 --- a/modules/lang/rust/doctor.el +++ b/modules/lang/rust/doctor.el @@ -5,6 +5,10 @@ (featurep! :tools lsp)) "This module requires (:tools lsp)") +(assert! (or (not (featurep! +tree-sitter)) + (featurep! :tools tree-sitter)) + "This module requires (:tools tree-sitter)") + (unless (executable-find "rustc") (warn! "Couldn't find rustc binary")) diff --git a/modules/lang/scala/doctor.el b/modules/lang/scala/doctor.el index 06a62720f..76d3c6a05 100644 --- a/modules/lang/scala/doctor.el +++ b/modules/lang/scala/doctor.el @@ -4,6 +4,10 @@ (featurep! :tools lsp)) "This module requires (:tools lsp)") +(assert! (or (not (featurep! +tree-sitter)) + (featurep! :tools tree-sitter)) + "This module requires (:tools tree-sitter)") + (if (and (featurep! +lsp) (not (executable-find "metals-emacs"))) (warn! "metals-emacs isn't installed")) diff --git a/modules/lang/sh/doctor.el b/modules/lang/sh/doctor.el index a25f3dfbc..0575489b3 100644 --- a/modules/lang/sh/doctor.el +++ b/modules/lang/sh/doctor.el @@ -3,3 +3,7 @@ (when (featurep! :checkers syntax) (unless (executable-find "shellcheck") (warn! "Couldn't find shellcheck. Shell script linting will not work"))) + +(assert! (or (not (featurep! +tree-sitter)) + (featurep! :tools tree-sitter)) + "This module requires (:tools tree-sitter)") diff --git a/modules/lang/swift/doctor.el b/modules/lang/swift/doctor.el new file mode 100644 index 000000000..c5efe98bc --- /dev/null +++ b/modules/lang/swift/doctor.el @@ -0,0 +1,5 @@ +;;; lang/swift/doctor.el -*- lexical-binding: t; -*- + +(assert! (or (not (featurep! +tree-sitter)) + (featurep! :tools tree-sitter)) + "This module requires (:tools tree-sitter)") diff --git a/modules/lang/web/doctor.el b/modules/lang/web/doctor.el index fa51a0d30..575bdccb4 100644 --- a/modules/lang/web/doctor.el +++ b/modules/lang/web/doctor.el @@ -4,6 +4,10 @@ (featurep! :tools lsp)) "This module requires (:tools lsp)") +(assert! (or (not (featurep! +tree-sitter)) + (featurep! :tools tree-sitter)) + "This module requires (:tools tree-sitter)") + (unless (executable-find "js-beautify") (warn! "Couldn't find js-beautify. Code formatting in JS/CSS/HTML modes will not work."))