Hello! I've noticed that auto-pair creation of braces (`{}`) stopped working in edn files but still works in clojure files. Auto-pair completion of parens () , brackets [] , and double-quotes "" still works fine. The timing seems to be associated when I updated cider/clojure-mode and edn-mode was added. Has anyone else noticed this? I haven't dug into it too deeply yet.
• cider-version 1.22.0-snapshot
• clojure-mode-version 5.22.0
More info (starting to remember how to debug emacs again):
clojure-mode:
• ( is bound to paredit-open-round
• { is bound to paredit-open-curly
edn-mode:
• ( is bound to paredit-open-round (same as clojure-mode, and as expected)
• { is bound to self-insert-command (not same as clojure-mode, and unexpected)
There's apparently some clojure-paredit-setup magic happening, which does call out braces in particular: https://github.com/clojure-emacs/clojure-mode/blob/master/clojure-mode.el#L588-L602
(defun clojure-paredit-setup (&optional keymap)
"Make \"paredit-mode\" play nice with `clojure-mode'.
If an optional KEYMAP is passed the changes are applied to it,
instead of to `clojure-mode-map'.
Also advice `paredit-convolute-sexp' when used on a let form as drop in
replacement for `cljr-expand-let`."
(when (>= paredit-version 21)
(let ((keymap (or keymap clojure-mode-map)))
(define-key keymap "{" #'paredit-open-curly)
(define-key keymap "}" #'paredit-close-curly))
(make-local-variable 'paredit-space-for-delimiter-predicates)
(add-to-list 'paredit-space-for-delimiter-predicates
#'clojure-space-for-delimiter-p)
(advice-add 'paredit-convolute-sexp :after #'clojure--replace-let-bindings-and-indent)))I don't see any equivalent for edn-mode
And a fix:
(defun my-edn-paredit-setup (&optional keymap)
(when (>= paredit-version 21)
(let ((keymap (or keymap edn-mode-map)))
(define-key keymap "{" #'paredit-open-curly)
(define-key keymap "}" #'paredit-close-curly))))
(add-hook 'paredit-mode-hook #'my-edn-paredit-setup)If I have a compilation error in the project when starting cider it'll show a stacktrace in the minibuffer, but I usually can't see the whole stacktrace, so it disappears and I don't know where to find it so can fix the issue. Is there a better way to see the error?
It's not there 😕
That's interesting, I've just tried to break the deps.edn to prevent nrepl from starting, and I can see the stacktrace in the *Messages*:
Okay, I've found it... My *Messages* buffer wasn't showing in vertico if *Flycheck messages* existed, which led me to believe it isn't there.. Now it's all good. Thank you!
Vertico has too many settings for my tiny 🧠
It actually sounds more like the issue with completion-styles rather than with vertico. I'm glad that the issue is solved though 🙂
Yeah, that's true!
can't you see it in the *Messages* buffer? You can open it using C-h e