Add clojure-ts-mode for using tree-sitter

Disable it by default until I can figure out the issue with paredit
and fix it.
This commit is contained in:
Vedang Manerikar 2024-12-16 07:09:38 +05:30
parent 1a3189fc0e
commit b6899bfbd4
3 changed files with 46 additions and 18 deletions

View file

@ -1450,12 +1450,13 @@ process.
#+begin_src emacs-lisp :tangle "unravel-modules/unravel-essentials.el"
;;; Install and use tree-sitter major modes where possible
(use-package treesit-auto
:ensure t
:config
(setq treesit-auto-install 'prompt)
(treesit-auto-add-to-auto-mode-alist 'all)
(global-treesit-auto-mode))
(when (treesit-available-p)
(use-package treesit-auto
:ensure t
:config
(setq treesit-auto-install 'prompt)
(treesit-auto-add-to-auto-mode-alist 'all)
(global-treesit-auto-mode)))
#+end_src
** The =unravel-essentials.el= section about ~expreg~ (tree-sitter mark syntactically)
@ -5268,9 +5269,21 @@ Clojure is my favorite programming language, and it has been my bread and butter
(use-package clojure-mode
:ensure t)
;;; `clojure-ts-mode' is not stable enough right now. In particular,
;;; it clashes with `paredit-mode' sometimes, leading to Paredit
;;; throwing unbalanced-expression errorsand being unusable. So
;;; keeping this disabled and experimenting with how to fix it, for
;;; them moment.
(defvar enable-clojure-ts-mode nil)
(when (and (treesit-available-p) enable-clojure-ts-mode)
(use-package clojure-ts-mode
:ensure t))
(use-package cider
:ensure t
:after clojure-mode
:after (:any clojure-mode clojure-ts-mode)
:config
(defun cider-repl-prompt-on-newline (ns)
"Return a prompt string with newline.
@ -5280,9 +5293,10 @@ Clojure is my favorite programming language, and it has been my bread and butter
(use-package clj-refactor
:ensure t
:after clojure-mode
:after (:any clojure-mode clojure-ts-mode)
:hook
((clojure-mode . clj-refactor-mode))
((clojure-mode . clj-refactor-mode)
(clojure-ts-mode . clj-refactor-mode))
:config
(cljr-add-keybindings-with-prefix "C-c m")
;; Don't magically add stuff to the namespace requires form (because

View file

@ -104,12 +104,13 @@
("M-w" . easy-kill)) ; re-map kill-ring-save
;;; Install and use tree-sitter major modes where possible
(use-package treesit-auto
:ensure t
:config
(setq treesit-auto-install 'prompt)
(treesit-auto-add-to-auto-mode-alist 'all)
(global-treesit-auto-mode))
(when (treesit-available-p)
(use-package treesit-auto
:ensure t
:config
(setq treesit-auto-install 'prompt)
(treesit-auto-add-to-auto-mode-alist 'all)
(global-treesit-auto-mode)))
;;; Mark syntactic constructs efficiently if tree-sitter is available (expreg)
(when (and (fboundp 'treesit-available-p)

View file

@ -190,9 +190,21 @@
(use-package clojure-mode
:ensure t)
;;; `clojure-ts-mode' is not stable enough right now. In particular,
;;; it clashes with `paredit-mode' sometimes, leading to Paredit
;;; throwing unbalanced-expression errorsand being unusable. So
;;; keeping this disabled and experimenting with how to fix it, for
;;; them moment.
(defvar enable-clojure-ts-mode nil)
(when (and (treesit-available-p) enable-clojure-ts-mode)
(use-package clojure-ts-mode
:ensure t))
(use-package cider
:ensure t
:after clojure-mode
:after (:any clojure-mode clojure-ts-mode)
:config
(defun cider-repl-prompt-on-newline (ns)
"Return a prompt string with newline.
@ -202,9 +214,10 @@ NS is the namespace information passed into the function by cider."
(use-package clj-refactor
:ensure t
:after clojure-mode
:after (:any clojure-mode clojure-ts-mode)
:hook
((clojure-mode . clj-refactor-mode))
((clojure-mode . clj-refactor-mode)
(clojure-ts-mode . clj-refactor-mode))
:config
(cljr-add-keybindings-with-prefix "C-c m")
;; Don't magically add stuff to the namespace requires form (because