]> jturnerusa.dev Git - emacs.d/commitdiff
setup ts modes in the treesit use-package expression
authorJohn Turner <jturner.usa@gmail.com>
Mon, 17 Jul 2023 03:38:07 +0000 (23:38 -0400)
committerJohn Turner <jturner.usa@gmail.com>
Mon, 17 Jul 2023 03:38:07 +0000 (23:38 -0400)
python-ts-mode and bash-ts-mode are not packages or features, so
we can't use them in a use-package expression.

Since we can't create use-package expressions for them, just set
up the requires variables in the treesit use-package expression.

packages/treesit.el

index 00c383be846285ef551adf5b6c4de3ffe168caa4..31e4c435e5e827ad72bce8de7b2bf1e8aad5ef7e 100644 (file)
@@ -1,21 +1,18 @@
 (use-package treesit
-  :if (>= emacs-major-version 29))
+  :if (ignore-errors (treesit-available-p))
+  :mode
+  ((rx (literal ".") "rs" eos) . rust-ts-mode)
+  ((rx (literal ".") "py" eos) . python-ts-mode)
+  ((rx (literal ".") "sh" eos) . bash-ts-mode)
+  :interpreter
+  (("python" "python3" "python2") . python-ts-mode)
+  (("bash" "sh" "openrc-run") . bash-ts-mode))
 
 (use-package rust-ts-mode
     :requires treesit
-    :mode (rx (literal ".") "rs" eos)
-    :hook (rust-ts-mode . (lambda ()
-                            (when (featurep 'rust-mode)
-                              (add-hook before-save-hook rust-before-save-method)
-                              (add-hook after-save-hook rust-after-save-method)
-                              (use-local-map (make-composed-keymap (list rust-ts-mode-map rust-mode-map)))))))
-
-(use-package python-ts-mode
-  :requires treesit
-  :mode (rx (literal ".") "py" eos)
-  :interpreter ("python" "python3" "python2"))
-
-(use-package bash-ts-mode
-  :requires treesit
-  :mode (rx (literal ".") "sh" eos)
-  :interpreter ("bash" "sh" "openrc-run"))
+    :hook
+    (rust-ts-mode . (lambda ()
+                      (when (featurep 'rust-mode)
+                        (add-hook before-save-hook rust-before-save-method)
+                        (add-hook after-save-hook rust-after-save-method)
+                        (use-local-map (make-composed-keymap (list rust-ts-mode-map rust-mode-map)))))))