From: Ergus via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
To: "João Távora" <joaotavora@gmail.com>
Cc: Dmitry Gutov <dmitry@gutov.dev>, Eli Zaretskii <eliz@gnu.org>,
70408@debbugs.gnu.org
Subject: bug#70408: 30.0.50; Eglot and Project integration
Date: Tue, 16 Apr 2024 15:03:44 +0200 [thread overview]
Message-ID: <mrfdqsap7lxrxjsxkdtpvoud5gzknmfvbj4owz5ieknehpbbmc@5f3vfph5tyq6> (raw)
In-Reply-To: <CALDnm52cp2Mn2YQtK+jh+Pgq0BJMK4BRf1oiDF+8cGuxsUfPvg@mail.gmail.com>
On Tue, Apr 16, 2024 at 01:33:31PM +0100, João Távora wrote:
>On Tue, Apr 16, 2024 at 12:42 PM Eli Zaretskii <eliz@gnu.org> wrote:
>
>> I think this discussion should include João, so I added him.
>
>Alright.
>
>More importantly, I think this discussion should include Dmitry, as this seems
>to me a project.el extension.
>
Indeed. Actually Dmitry suggested me to open the bug.
>This discussion should be aware of these half-recent developments
>https://github.com/joaotavora/eglot/discussions/1337
>
I will give it a look.
>In a few words, Eglot user's main gripe with project.el is project.el's
>inability to help the user define or designate subprojects within
>larger projects.
>Eglot has worked around that, and the current work-around is very
>effective (though not really well documented beyond that GitHub discussion
>forum).
>
A bit more details on the workaround and its final state may be useful.
>If Ergus's developments change project.el so that this special Eglot code
>isn't necessary, that's great IMO. If they make it so that Eglot now has
>to depend on extra package and extra project.el features, that's not so
>great.
>
I would like to avoid inter-dependencies, however, considering that
Eglot and project.el are both in vanilla; maybe we could be a bit
flexible here.
However, I thing that there are some ways to handle that.
So far, what I had in mind was a sort of non-intrusive api (either in
eglot or project.el) that could be used by project.el (and/or a
project.el backend) to provide more accurate information to eglot.
As I said before, the real issue is that project.el is intended to
initialize lazily while eglot is generally already running; so the only
realistic alternatives I see are:
1. Make eglot call a project.el function to detect the build-dir and
compile-commands.json (or equivalent)
2. Make project.el to check if eglot is enabled and call some eglot
function to update the eglot's "build-dir".
From these two I actually prefer the second one because it may happen
that a project has different build-dirs each of them with a different
compile-commands.json (i.e debug and release) and the user wants to
change build-dir dynamically and potentially inform eglot about the
change.
>That's my opinion as current Eglot maintainer. A capable future
>Eglot maintainer may have another opinion and want to steer ship
>in a completely different direction. I'm looking for such a person, btw.
>
>João
next prev parent reply other threads:[~2024-04-16 13:03 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <87o7aas3sk.fsf.ref@aol.com>
2024-04-15 21:40 ` bug#70408: 30.0.50; Eglot and Project integration Ergus via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-04-16 11:42 ` Eli Zaretskii
2024-04-16 12:33 ` João Távora
2024-04-16 12:55 ` Dmitry Gutov
2024-04-16 13:51 ` João Távora
2024-04-16 16:02 ` Ergus via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-04-16 20:30 ` João Távora
2024-04-16 21:51 ` Ergus via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-04-20 11:28 ` Dmitry Gutov
2024-04-20 13:10 ` João Távora
2024-04-16 13:03 ` Ergus via Bug reports for GNU Emacs, the Swiss army knife of text editors [this message]
2024-04-16 16:36 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=mrfdqsap7lxrxjsxkdtpvoud5gzknmfvbj4owz5ieknehpbbmc@5f3vfph5tyq6 \
--to=bug-gnu-emacs@gnu.org \
--cc=70408@debbugs.gnu.org \
--cc=dmitry@gutov.dev \
--cc=eliz@gnu.org \
--cc=joaotavora@gmail.com \
--cc=spacibba@aol.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.