-
Notifications
You must be signed in to change notification settings - Fork 160
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
History support for multi-project refactorings? #219
Comments
I don't think this support exists and is not planned. What is your use case? |
I'm writing a HTTP server that exposes rope functionality, and I'd like to let users add cross-projects to do multi-project refactorings. It offers undo/redo support for refactorings, and it seems like it would be odd if undo only worked for the root project. I might be able to manage the multi-project un/redo support myself, but I'd like to avoid the work if it comes natively from rope. |
Oh, I like this idea, I'd like to join this project :) |
@sergeyglazyrindev Any help is appreciated! I'm in the middle of making some substantial changes, so it's in a weird state. But hopefully I'll have it back to "normal" soon. |
@abingham , what do you mean "for multi-project"? |
I like the idea, but wouldn't it be better to support Language Server Protocol? Would it make sense? I believe that creativity around protocols is almost always The Wrong Idea™. This in end, maybe even a good replacement for |
@abingham , as I see, there is a Composite pattern, which simple delegates calls to the Leaves, see:
There is only one little problem, the non-polymorphic call for the .do() method, see:
I think, we can easy fix this issue, thus, the History class will be able to work with the Composite (_MultiRefactoring) as well as with a Leaf. |
Maybe so. I started traad because nothing (including ropemacs, since I'm primarily an emacs user) worked for what I needed, and I only really do enough work to make it work for me. If someone wants to put in the effort to create a better refactoring server of some sort, that would be fine with me. FWIW, I definitely feel that an HTTP language server is a better model than pymacs/ropemacs. |
So, it won't be you, do I understand correctly? Just that you could save yourself work on the Emacs-side of the things (and there are even rumours Emacs will have support for LSP natively, and there are already LSP clients for Emacs in existence). Also, I would love to see rope-based LSP server. If LSP is the future (and it seems to have a great momentum behind it), it could be very neat way how to make rope relevant again (and we could get rid of all three |
Currently that's correct. I barely have the bandwidth to keep traad hobbling along. |
Is there any support for doing undo/redo for multi-project refactorings? If not, are there plans for this?
The text was updated successfully, but these errors were encountered: