unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: "Lina Bhaile" <emacs-devel@linabee.uk>
Cc: emacs-devel@gnu.org
Subject: Re: Eglot rename, create, delete support
Date: Mon, 04 Mar 2024 22:14:06 +0200	[thread overview]
Message-ID: <865xy1n4a9.fsf@gnu.org> (raw)
In-Reply-To: <7d6032f1-33e3-41aa-82b7-5b1b032bf0e1@app.fastmail.com> (emacs-devel@linabee.uk)

> Date: Mon, 04 Mar 2024 19:18:36 +0000
> From: "Lina Bhaile" <emacs-devel@linabee.uk>
> 
> (Resending due to wrong From:)
> 
> Hi all,
> 
> The Language Server Protocol spec allows for servers to send requests to the
> client (in this case Emacs/Eglot) to create, rename or delete files in the
> project if the client advertises that it can do “resourceOperations”
> [https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#resourceChanges].
> Unfortunately Eglot does not support this in either HEAD or in Emacs 29. It’s
> particularly useful for Java since the compiler for that language refuses to
> compile a file if the name of a type does not match the file name, as well as
> code actions for moving types from one package (namespace) to another.
> 
> I have a patch that adds support for rename requests to Eglot inside an
> extension package for connecting to a Java language server, but it is very
> hacky because it needs to advise eglot--apply-workspace-edit which will
> mishandle parsing if it encounters an object with a different type than
> TextDocumentEdit inside a workspace edit response
> [https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#workspaceEdit].
> Really, though, this code should be inside Eglot itself. I would share it on
> the list but I do not have my copyright assigned yet, it's pushing around 125
> lines with just rename support. As well I would like some review and to write
> some tests as these are potentially destructive operations and I would like to
> handle all the potential corner cases that might arise.
> 
> If someone could send me the copyright assignment forms that would be grand.

Form sent off-list.

When you are ready with the patch, please post it to our issue tracker
using "M-x submit-emacs-patch", preferably in the form generated by
"git format-patch".  You could post it while your legal paperwork is
still in progress, because patch review takes some time, and you might
get review comments to follow up on.

Thanks.



  reply	other threads:[~2024-03-04 20:14 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-04 19:18 Eglot rename, create, delete support Lina Bhaile
2024-03-04 20:14 ` Eli Zaretskii [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-03-04 18:00 me

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

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=865xy1n4a9.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=emacs-devel@linabee.uk \
    /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 public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).