Skip to content
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

Feature/move folder #739

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

ishmum123
Copy link
Contributor

@ishmum123 ishmum123 commented Feb 22, 2021

Closes #47

@Birowsky
Copy link

🎉🎉🎉🎉🎉
🥳🥳🥳🥳🥳

@klazuka
Copy link
Collaborator

klazuka commented Feb 23, 2021

@ishmum123 thanks! I will review this week (busy at work today).

@pravdomil
Copy link
Contributor

java.lang.ClassCastException: class com.intellij.psi.impl.source.tree.LeafPsiElement cannot be cast to class org.elm.lang.core.psi.elements.ElmModuleDeclaration (com.intellij.psi.impl.source.tree.LeafPsiElement is in unnamed module of loader com.intellij.util.lang.UrlClassLoader @97e1986; org.elm.lang.core.psi.elements.ElmModuleDeclaration is in unnamed module of loader com.intellij.ide.plugins.cl.PluginClassLoader @6d6c8fab)
	at org.elm.ide.refactoring.ElmMoveFileHandler.prepareMovedFile(ElmMoveFileHandler.kt:39)
	at com.intellij.refactoring.move.moveFilesOrDirectories.MoveFilesOrDirectoriesProcessor.performRefactoringInBranch(MoveFilesOrDirectoriesProcessor.java:200)
	at com.intellij.refactoring.move.moveFilesOrDirectories.MoveFilesOrDirectoriesProcessor.performRefactoring(MoveFilesOrDirectoriesProcessor.java:138)
	at com.intellij.refactoring.BaseRefactoringProcessor.lambda$doRefactoring$9(BaseRefactoringProcessor.java:515)
	at com.intellij.refactoring.BaseRefactoringProcessor.callPerformRefactoring(BaseRefactoringProcessor.java:568)
	at com.intellij.refactoring.BaseRefactoringProcessor.lambda$doRefactoring$10(BaseRefactoringProcessor.java:514)
	at com.intellij.openapi.application.impl.ApplicationImpl.lambda$runEdtProgressWriteAction$12(ApplicationImpl.java:964)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:178)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:658)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:610)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:65)
	at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:165)
	at com.intellij.openapi.progress.util.PotemkinProgress.runInSwingThread(PotemkinProgress.java:191)
	at com.intellij.openapi.application.impl.ApplicationImpl.lambda$runEdtProgressWriteAction$13(ApplicationImpl.java:964)
	at com.intellij.openapi.application.impl.ApplicationImpl.runWriteActionWithClass(ApplicationImpl.java:988)
	at com.intellij.openapi.application.impl.ApplicationImpl.runEdtProgressWriteAction(ApplicationImpl.java:962)
	at com.intellij.openapi.application.impl.ApplicationImpl.runWriteActionWithNonCancellableProgressInDispatchThread(ApplicationImpl.java:943)
	at com.intellij.refactoring.BaseRefactoringProcessor.doRefactoring(BaseRefactoringProcessor.java:513)
	at com.intellij.refactoring.BaseRefactoringProcessor.lambda$execute$2(BaseRefactoringProcessor.java:330)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:211)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:177)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:167)
	at com.intellij.refactoring.BaseRefactoringProcessor.execute(BaseRefactoringProcessor.java:328)
	at com.intellij.refactoring.BaseRefactoringProcessor.doRun(BaseRefactoringProcessor.java:251)
	at com.intellij.openapi.fileEditor.impl.NonProjectFileWritingAccessProvider.disableChecksDuring(NonProjectFileWritingAccessProvider.java:176)
	at com.intellij.refactoring.BaseRefactoringProcessor.lambda$run$18(BaseRefactoringProcessor.java:631)
	at com.intellij.refactoring.BaseRefactoringProcessor.run(BaseRefactoringProcessor.java:643)
	at com.intellij.refactoring.move.moveFilesOrDirectories.MoveFilesOrDirectoriesUtil.lambda$doMove$0(MoveFilesOrDirectoriesUtil.java:160)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:211)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:177)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:167)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:153)
	at com.intellij.refactoring.move.moveFilesOrDirectories.MoveFilesOrDirectoriesUtil.doMove(MoveFilesOrDirectoriesUtil.java:132)
	at com.intellij.refactoring.move.moveFilesOrDirectories.MoveFilesOrDirectoriesUtil$1.performMove(MoveFilesOrDirectoriesUtil.java:120)
	at com.intellij.refactoring.move.moveFilesOrDirectories.MoveFilesOrDirectoriesDialog.lambda$doAction$1(MoveFilesOrDirectoriesDialog.java:175)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:220)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:177)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:167)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:153)
	at com.intellij.refactoring.move.moveFilesOrDirectories.MoveFilesOrDirectoriesDialog.doAction(MoveFilesOrDirectoriesDialog.java:160)
	at com.intellij.refactoring.ui.RefactoringDialog.doRefactorAction(RefactoringDialog.java:136)
	at com.intellij.refactoring.ui.RefactoringDialog$RefactorAction.actionPerformed(RefactoringDialog.java:219)
	at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
	at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
	at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
	at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
	at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:369)
	at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:349)
	at com.intellij.openapi.ui.ComboBox$MyEditor.lambda$new$0(ComboBox.java:344)
	at java.desktop/javax.swing.JTextField.fireActionPerformed(JTextField.java:508)
	at java.desktop/javax.swing.JTextField.postActionEvent(JTextField.java:723)
	at java.desktop/javax.swing.JTextField$NotifyAction.actionPerformed(JTextField.java:839)
	at java.desktop/javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1810)
	at java.desktop/javax.swing.JComponent.processKeyBinding(JComponent.java:2903)
	at java.desktop/javax.swing.JComponent.processKeyBindings(JComponent.java:2951)
	at java.desktop/javax.swing.JComponent.processKeyEvent(JComponent.java:2865)
	at java.desktop/java.awt.Component.processEvent(Component.java:6429)
	at java.desktop/java.awt.Container.processEvent(Container.java:2263)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5027)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4859)
	at java.desktop/java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1961)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:878)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1148)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:1017)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:843)
	at com.intellij.ide.IdeKeyboardFocusManager.dispatchEvent(IdeKeyboardFocusManager.java:41)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4908)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4859)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:778)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:751)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:749)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:748)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:976)
	at com.intellij.ide.IdeEventQueue.dispatchKeyEvent(IdeEventQueue.java:896)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:837)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:454)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:762)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:453)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:822)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:507)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:117)
	at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190)
	at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235)
	at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233)
	at java.desktop/java.awt.Dialog.show(Dialog.java:1063)
	at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.show(DialogWrapperPeerImpl.java:694)
	at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.show(DialogWrapperPeerImpl.java:435)
	at com.intellij.openapi.ui.DialogWrapper.doShow(DialogWrapper.java:1715)
	at com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:1674)
	at com.intellij.refactoring.ui.RefactoringDialog.show(RefactoringDialog.java:103)
	at com.intellij.refactoring.move.moveFilesOrDirectories.MoveFilesOrDirectoriesUtil.doMove(MoveFilesOrDirectoriesUtil.java:122)
	at com.intellij.refactoring.move.moveFilesOrDirectories.JavaMoveFilesOrDirectoriesHandler.doMove(JavaMoveFilesOrDirectoriesHandler.java:69)
	at com.intellij.refactoring.move.MoveHandler.doMove(MoveHandler.java:138)
	at com.intellij.refactoring.move.MoveHandler.invoke(MoveHandler.java:126)
	at com.intellij.ide.projectView.impl.ProjectViewDropTarget$MoveDropHandler.doDrop(ProjectViewDropTarget.java:277)
	at com.intellij.ide.projectView.impl.ProjectViewDropTarget$MoveDropHandler.doDrop(ProjectViewDropTarget.java:238)
	at com.intellij.ide.projectView.impl.ProjectViewDropTarget.doValidDrop(ProjectViewDropTarget.java:130)
	at com.intellij.ide.projectView.impl.ProjectViewDropTarget.drop(ProjectViewDropTarget.java:117)
	at com.intellij.ide.dnd.DnDManagerImpl$MyDropTargetListener.doDrop(DnDManagerImpl.java:671)
	at com.intellij.ide.dnd.DnDManagerImpl$MyDropTargetListener.drop(DnDManagerImpl.java:640)
	at java.desktop/java.awt.dnd.DropTarget.drop(DropTarget.java:452)
	at java.desktop/sun.awt.dnd.SunDropTargetContextPeer.processDropMessage(SunDropTargetContextPeer.java:547)
	at java.desktop/sun.lwawt.macosx.CDropTargetContextPeer.processDropMessage(CDropTargetContextPeer.java:129)
	at java.desktop/sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher.dispatchDropEvent(SunDropTargetContextPeer.java:863)
	at java.desktop/sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher.dispatchEvent(SunDropTargetContextPeer.java:787)
	at java.desktop/sun.awt.dnd.SunDropTargetEvent.dispatch(SunDropTargetEvent.java:48)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4892)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4859)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
	at java.desktop/java.awt.LightweightDispatcher.processDropTargetEvent(Container.java:4621)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4483)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4859)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:778)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:751)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:749)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:748)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:976)
	at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.java:911)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:840)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:454)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:773)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:453)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:822)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:507)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

@ishmum123
Copy link
Contributor Author

ishmum123 commented Feb 25, 2021

Thanks @pravdomil would really help if you could provide the regeneration scenario

@pravdomil
Copy link
Contributor

hmmmm.mov

@ishmum123
Copy link
Contributor Author

@pravdomil many thanks for the catch. should be okay now I hope

@pravdomil
Copy link
Contributor

@ishmum123 good job
Can we rewrite the plugin in Elm so that there is no exceptions?
Or use elm-language-server where it is already implemented?

@ishmum123
Copy link
Contributor Author

@pravdomil i am not sure what you mean... let's slack

@Birowsky
Copy link

Birowsky commented Mar 2, 2021

May I kindly ask what is the status on this?

@klazuka
Copy link
Collaborator

klazuka commented Mar 2, 2021

I intend to review the PRs soon, but I'm busy with my new job, and it's difficult to find the time on the weekend to do open-source review.

@Birowsky
Copy link

Birowsky commented Mar 2, 2021

That's alright, I'm just too excited for this one.

@pravdomil
Copy link
Contributor

@ishmum123

aaaa.mov

@ishmum123
Copy link
Contributor Author

@pravdomil thanks for the catch. Can you please check if you are in the same branch? I can't seem to find the stack-traced file on this branch

@pravdomil
Copy link
Contributor

sorry I was combining both #739 #737 so that might caused by #737

@pravdomil
Copy link
Contributor

Found few days ago.

hmmmmmm.mov

@ishmum123
Copy link
Contributor Author

@pravdomil Thanks for the catch... let me get back to you in a while

@pravdomil
Copy link
Contributor

also

aaa.mov

@ishmum123
Copy link
Contributor Author

ishmum123 commented Apr 20, 2021

@pravdomil the current push somewhat solves this issue. However, if you quickly move it back it doesn't behave as expected. @klazuka would love some ideas on how to solve that...

#739 (comment)

@ishmum123
Copy link
Contributor Author

#739 (comment)

I am not sure if this falls under the scope of this PR. Would you mind if I skip it?

@cies
Copy link
Contributor

cies commented Apr 3, 2024

Hi @ishmum123 ! I'm taking over the stewardship of this repo, are you interested in putting more work into this branch?

@ishmum123
Copy link
Contributor Author

@cies thanks for reviving the thread. I am not sure when's the next push coming for this feature. Feel free to close this

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add "Move file/module" refactoring
5 participants