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:
parent
1a3189fc0e
commit
b6899bfbd4
3 changed files with 46 additions and 18 deletions
|
@ -1450,12 +1450,13 @@ process.
|
||||||
|
|
||||||
#+begin_src emacs-lisp :tangle "unravel-modules/unravel-essentials.el"
|
#+begin_src emacs-lisp :tangle "unravel-modules/unravel-essentials.el"
|
||||||
;;; Install and use tree-sitter major modes where possible
|
;;; Install and use tree-sitter major modes where possible
|
||||||
(use-package treesit-auto
|
(when (treesit-available-p)
|
||||||
:ensure t
|
(use-package treesit-auto
|
||||||
:config
|
:ensure t
|
||||||
(setq treesit-auto-install 'prompt)
|
:config
|
||||||
(treesit-auto-add-to-auto-mode-alist 'all)
|
(setq treesit-auto-install 'prompt)
|
||||||
(global-treesit-auto-mode))
|
(treesit-auto-add-to-auto-mode-alist 'all)
|
||||||
|
(global-treesit-auto-mode)))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** The =unravel-essentials.el= section about ~expreg~ (tree-sitter mark syntactically)
|
** 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
|
(use-package clojure-mode
|
||||||
:ensure t)
|
: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
|
(use-package cider
|
||||||
:ensure t
|
:ensure t
|
||||||
:after clojure-mode
|
:after (:any clojure-mode clojure-ts-mode)
|
||||||
:config
|
:config
|
||||||
(defun cider-repl-prompt-on-newline (ns)
|
(defun cider-repl-prompt-on-newline (ns)
|
||||||
"Return a prompt string with newline.
|
"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
|
(use-package clj-refactor
|
||||||
:ensure t
|
:ensure t
|
||||||
:after clojure-mode
|
:after (:any clojure-mode clojure-ts-mode)
|
||||||
:hook
|
:hook
|
||||||
((clojure-mode . clj-refactor-mode))
|
((clojure-mode . clj-refactor-mode)
|
||||||
|
(clojure-ts-mode . clj-refactor-mode))
|
||||||
:config
|
:config
|
||||||
(cljr-add-keybindings-with-prefix "C-c m")
|
(cljr-add-keybindings-with-prefix "C-c m")
|
||||||
;; Don't magically add stuff to the namespace requires form (because
|
;; Don't magically add stuff to the namespace requires form (because
|
||||||
|
|
|
@ -104,12 +104,13 @@
|
||||||
("M-w" . easy-kill)) ; re-map kill-ring-save
|
("M-w" . easy-kill)) ; re-map kill-ring-save
|
||||||
|
|
||||||
;;; Install and use tree-sitter major modes where possible
|
;;; Install and use tree-sitter major modes where possible
|
||||||
(use-package treesit-auto
|
(when (treesit-available-p)
|
||||||
:ensure t
|
(use-package treesit-auto
|
||||||
:config
|
:ensure t
|
||||||
(setq treesit-auto-install 'prompt)
|
:config
|
||||||
(treesit-auto-add-to-auto-mode-alist 'all)
|
(setq treesit-auto-install 'prompt)
|
||||||
(global-treesit-auto-mode))
|
(treesit-auto-add-to-auto-mode-alist 'all)
|
||||||
|
(global-treesit-auto-mode)))
|
||||||
|
|
||||||
;;; Mark syntactic constructs efficiently if tree-sitter is available (expreg)
|
;;; Mark syntactic constructs efficiently if tree-sitter is available (expreg)
|
||||||
(when (and (fboundp 'treesit-available-p)
|
(when (and (fboundp 'treesit-available-p)
|
||||||
|
|
|
@ -190,9 +190,21 @@
|
||||||
(use-package clojure-mode
|
(use-package clojure-mode
|
||||||
:ensure t)
|
: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
|
(use-package cider
|
||||||
:ensure t
|
:ensure t
|
||||||
:after clojure-mode
|
:after (:any clojure-mode clojure-ts-mode)
|
||||||
:config
|
:config
|
||||||
(defun cider-repl-prompt-on-newline (ns)
|
(defun cider-repl-prompt-on-newline (ns)
|
||||||
"Return a prompt string with newline.
|
"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
|
(use-package clj-refactor
|
||||||
:ensure t
|
:ensure t
|
||||||
:after clojure-mode
|
:after (:any clojure-mode clojure-ts-mode)
|
||||||
:hook
|
:hook
|
||||||
((clojure-mode . clj-refactor-mode))
|
((clojure-mode . clj-refactor-mode)
|
||||||
|
(clojure-ts-mode . clj-refactor-mode))
|
||||||
:config
|
:config
|
||||||
(cljr-add-keybindings-with-prefix "C-c m")
|
(cljr-add-keybindings-with-prefix "C-c m")
|
||||||
;; Don't magically add stuff to the namespace requires form (because
|
;; Don't magically add stuff to the namespace requires form (because
|
||||||
|
|
Loading…
Reference in a new issue