[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Brand new clojure support in Emacs ;-)

From: Philip Kaludercic
Subject: Re: Brand new clojure support in Emacs ;-)
Date: Sun, 03 Sep 2023 15:19:37 +0000

"Bozhidar Batsov" <bozhidar@batsov.dev> 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,

> 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 <joaotavora@gmail.com> writes:
>> > On Fri, Aug 25, 2023 at 8:26 AM Philip Kaludercic <philipk@posteo.net> 
>> > wrote:
>> >>
>> >> Richard Stallman <rms@gnu.org> 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

reply via email to

[Prev in Thread] Current Thread [Next in Thread]