On Fri, Aug 25, 2023 at 8:26 AM Philip Kaludercic wrote: > > Richard Stallman writes: > > > [[[ To any NSA and FBI agents reading my email: please consider ]]] > > [[[ whether defending the US Constitution against all enemies, ]]] > > [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > > > It appears that there is no clojure-mode command in core Emacs. > > There is a Clojure mode package, but it is in NonGNU ELPA. > > > > I think that language is important enough that, notwithstanding not > > really being similar to Lisp, we ought to have a major mode to support it. > > Would someone please work on that? > > I had brought this up in the recent clojure-ts-mode thread, that I > assume you are referring to. Sadly, I have no experience with the > language, but one idea might be to extend lisp-data-mode by whatever the I don't know if this counts as "work on that" but here's two interesting lines Elisp: (define-derived-mode clojure-mode lisp-data-mode "Clojure" "Barebones Clojure") (add-to-list 'auto-mode-alist '("\\.clj" . clojure-mode)) Since it is a lisp dialect many things works here, like indentation, symbol recognition, parenthesis balancing, C-M navigation, and thing-at-point. And then there's LSP, right? So I installed clojure-lsp from here: https://aur.archlinux.org/packages/clojure-lsp-bin I created a hello world project with the "lein" tool, git init, found the src/helloworld/core.clj inside it, pressed M-x eglot and suddenly I had at-point-documentation, diagnostics, lots of refactorings, completion, etc. The thing that's a bit minimal is the syntax highlighting, but it's not that bad either IMHO. Eglot doesn't yet support LSP-mandated syntax highlighting. I have no idea what it takes to add TreeSitter support to such a bare-bones mode (but shouldn't it be really easy like mapping syntactic symbols to faces?) No idea if this works with the CIDER or SLIME backends for clojure. Don't ask me to test any more cause I've just uninstalled it all but any clojurians rading can have a go. João