Subject: bug#69426: closed (Re: bug#69426: 29.2; Let eglot-rename suggest thing-at-point when renaming)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 27 Feb 2024 16:01:03 +0000

Your bug report

#69426: 29.2; Let eglot-rename suggest thing-at-point when renaming

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
69426: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=69426
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#69426: 29.2; Let eglot-rename suggest thing-at-point when renaming
From: Eli Zaretskii <[email-masked]>
To: Chmouel Boudjnah <[email-masked]>
Cc: [email-masked], [email-masked]
Date: Tue, 27 Feb 2024 17:59:38 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

> Cc: [email-masked]
> From: Chmouel Boudjnah <[email-masked]>
> Date: Tue, 27 Feb 2024 14:32:25 +0100
> 
> On Tue, Feb 27, 2024 at 2:29 PM Eshel Yaron <[email-masked]> wrote:
> 
> > > Usually when renaming a variable you want to rename it to something that
> > > is related to the current name with the defautl behavior you have to
> > > type the current name manually.
> >
> > Just hit M-n and it's there :)
> 
> Thanks Eshel, I always forget about that one! I guess we can close this then!

Done.

Subject: 29.2; Let eglot-rename suggest thing-at-point when renaming
From: Chmouel Boudjnah <[email-masked]>
To: [email-masked]
Date: Tue, 27 Feb 2024 13:59:26 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

When using eglot-rename it asks for a new name (for the variable for
example) to rename to, it would be nice if there was a way to have the
current thing-at-point suggested as the new name.

Usually when renaming a variable you want to rename it to something that
is related to the current name with the defautl behavior you have to
type the current name manually.

I have a function like this that does it:

  (defun my-eglot-rename (newname)
    "Rename the current symbol to NEWNAME with initial input a."
    (interactive
     (list (read-from-minibuffer
            (format "Rename`%s' to: " (or (thing-at-point 'symbol t)
                                          "unknown symbol"))
            (or (thing-at-point 'symbol t) "") nil nil nil
            (symbol-name (symbol-at-point)))))
    (eglot--server-capable-or-lose :renameProvider)
    (eglot--apply-workspace-edit
     (jsonrpc-request (eglot--current-server-or-lose)
                      :textDocument/rename
`(,@(eglot--TextDocumentPositionParams)
                                             :newName ,newname))

which probably can work as advice to eglot-rename but it would be nice
if we can have this builtin.