> I would guess that anyone who is seriously interested in working with > Clojure, would install the proper major mode and the proper package That's one of the things that bother me the most in the conversations so far - lots of people tell us what the Clojure users need, but other than me and Danny, no one here has any real interest in Clojure. :-) Without an understanding of Clojure and its tooling ecosystem (and it's history) it's hard to make good suggestions about what makes sense and what doesn't. I already wrote we tried the "thin layer on top of lisp-mode" and this didn't worked out great in the past. Of course, people are welcome to try and learn from experience themselves if they thing they can do things better/differently. On Wed, Aug 30, 2023, at 9:17 AM, Philip Kaludercic wrote: > João Távora writes: > > > 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)) > > I suggested something along these lines up the thread, but didn't try it > out myself. Nice to see that the idea works. To avoid confusion, I > think it might be a good idea to not call this `clojure-mode' as well, > but something like "clojure-proto-mode" or "primitive-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. > > I would guess that anyone who is seriously interested in working with > Clojure, would install the proper major mode and the proper packages. > > > João > >