I have faced similar problem with lsp-semantic-tokens-mode as well 😔
It looks like clojure-ts-mode breaks Paredit's paredit-splice-sexp-killing-backward--worse, it breaks in a way that can leave a buffer with unbalanced parens. Has anyone found a workaround for this (other than going back to the pre-treesitter clojure-mode)?
clojure-ts-mode doesn't work well with paredit. paredit depends heavily on lisp-mode and clojure-mode has a few tweaks of lisp-mode settings. clojure-ts-mode uses new treesitter-based navigations commands and has nothing to do with lisp-mode. Basically paredit just doesn't support treesitter well. The best option is to switch to some other package to maintain balanced parenthesis.
That seems unfortunate. I would guess that paredit is the most-widely-used tool in this space. The clojure-ts-mode README specifically includes paredit among its suggested hooks.
Is there a specific recommended alternative with known-good compatibility with clojure-ts-mode?
I've personally been using https://github.com/Fuco1/smartparens (with meow-keybindings), but I admit that I've never been much of a superuser of it (or paredit when i used it in the past)
Ouch, that is really unfortunate. Can smartparens be tuned to mimic the feature set of paredit?
@sludwig.dev Sounds interesting, I am using Meow and I haven't switched to clojure-ts-mode because of the problem with paredit. Are those meow keybindings public?
Set smartparens-strict-mode to true and you have paredit
I'm using https://github.com/AmaiKinono/puni and electric-pair-mode and it mimics my former paredit use quite well