> Of course, it would be even better if you and your co-maintainers could > be convinced to distribute clojure-mode along with Emacs (again, this > doesn't mean development must be moved away from GitHub), but just like > with CC-mode, Org, cperl, Modus-Themes, releases would just have to be > synchronised with the core. But IIUC, your main issues is the copyright > assignment and the concern that it might limit who might contribute, > right? Other than the contributor agreement there's development overhead to consider: - where are issues reported? I don't want to use the Emacs issue tracker, but that'd be unavoidable for something built-in, so instead of having one issue tracker you end up with two (one of which I really dislike) - some patches will be submitted on GitHub, some on emacs-devel - I highly doubt that all the clojure-mode maintainers would be willing to deal with this - discussions related to problems/ideas would be happening in different places - there's also so overhead of keeping the GitHub repo and the code in Emacs in sync I can go on and on about this - hybrid development models simply come with a lot of overhead. I get that here many people think that GitHub is the root of all evil, but political preferences aside - it's the largest forge in the world by a huge margin and I think it provides unique benefits to projects that can't be replicated elsewhere. At least not today. On Sun, Sep 3, 2023, at 5:19 PM, Philip Kaludercic wrote: > "Bozhidar Batsov" writes: > > >> 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. > > This suggestion comes from a different point of view, namely that if I > open a clojure file, that I have anything else but fundamental mode to > structure the file. And if it is true that LSP integration could > provide xref, imenu, capf, etc. support, one would come a long way for > modest needs with very little code. Just like with the common-lisp > mode, the support is of course better if you install SLIME or Sly, but > having some basic OOTB support is already a good thing and all this > thread started out with. > > Of course, it would be even better if you and your co-maintainers could > be convinced to distribute clojure-mode along with Emacs (again, this > doesn't mean development must be moved away from GitHub), but just like > with CC-mode, Org, cperl, Modus-Themes, releases would just have to be > synchronised with the core. But IIUC, your main issues is the copyright > assignment and the concern that it might limit who might contribute, > right? > > > 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 > >> > >> >