[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Adding refactoring capabilities to Emacs
From: |
Eshel Yaron |
Subject: |
Re: Adding refactoring capabilities to Emacs |
Date: |
Fri, 08 Sep 2023 14:46:19 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
João Távora <joaotavora@gmail.com> writes:
> Also, it would be very good if we could have an early backend which is
> *not* LSP. An obvious candidate is Elisp.
FWIW, I think `sweeprolog`, my NonGNU ELPA package for SWI-Prolog can
also a good non-LSP backend. Elisp would be perfect, no doubt.
But `sweeprolog` is interesting because it does a lot of code analysis
that's useful for refactoring. Namely it provides precise project-wide
cross-reference data that can be used for renaming predicates. Renaming
local variables is already implemented, with a simple UI: you type `C-c
C-r`, it prompts you for a variable to rename in the current clause
(with completion), you hit `RET` to choose the variable at point, you
insert a new name, and it renames the variable at once. That's alright
for renaming local variables, but it would be great to simply plug in to
a generic refactoring UI.
So I can probably try and implement any "refactoring backend functions"
the new refactoring interface includes, and see how it goes.
Best,
Eshel
Re: Adding refactoring capabilities to Emacs, Dmitry Gutov, 2023/09/07
Re: Adding refactoring capabilities to Emacs,
Eshel Yaron <=
- Re: Adding refactoring capabilities to Emacs, João Távora, 2023/09/08
- Re: Adding refactoring capabilities to Emacs, Eshel Yaron, 2023/09/08
- [semi off topic] grep-based refactoring [was: Adding refactoring capabilities to Emacs], tomas, 2023/09/08
- Re: [semi off topic] grep-based refactoring [was: Adding refactoring capabilities to Emacs], João Távora, 2023/09/08
- Re: [semi off topic] grep-based refactoring [was: Adding refactoring capabilities to Emacs], Dmitry Gutov, 2023/09/08
- Re: [semi off topic] grep-based refactoring [was: Adding refactoring capabilities to Emacs], tomas, 2023/09/08