[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Editing Java (with LSP)
From: |
Alessandro Bertulli |
Subject: |
Re: Editing Java (with LSP) |
Date: |
Mon, 13 Jun 2022 23:53:06 +0200 |
User-agent: |
mu4e 1.6.11; emacs 28.1 |
Filipp Gunbin <fgunbin@fastmail.fm> writes:
> That seems to be true. There're very few of us.
Indeed
>
> I use my package javaimp (http://elpa.gnu.org/packages/javaimp.html),
> it's limited in functionality, but it fits my needs.
>
> Current version knows about the project structure and dependencies (from
> Maven or Gradle), assists with completion in imports, and implements
> imenu better than cc-mode. Next version is almost ready, it has
> improved parsing (for imenu and other stuff), limited xref support
> (finding a definition should work), navigation functions, and a minor
> mode to enable all that.
Uhm, interesting! I suppose it's a completely stand-alone package,
independent from LSP?
> Next, I plan to add support for debugging via gud (I already have the
> dependencies info), REPL via jshell (jdk 11), and perhaps implement
> indentation (this will remove dependency on cc-mode). However, I don't
> know when I'll be able to complete all this.
I have experimented with GUD/RealGUD, but honestly it didn't click in to
me. I felt natural with gdb, but to me the GUD interface with other
debuggers is not as standard as it should be. Let me know if I am naive
here, but: if I can't use the same commands in every debugger, then
whats the point?
Do you feel good with GUD? Did you have to do any special configuration?
> I don't intend to work on good font-lock support, because I don't use it
> myself, and it would require full source parsing, which is better done
> with treesitter (there's ongoing work on treesitter integration into
> Emacs, hopefully we'll see it soon). Also, clever source completion is
> also not in my plan: for that, you need a compiler, via lsp or directly.
Yap, I don't know treesitter but I suspect it may be an useful
integration also to solve this problem. Unfortunately, completion is one
of the thing that I find very useful (especially when exploring a new
codebase/library/framework, having type-checked completion is really
like having a guide, and it reduces basic, dumb errors)
Alessandro