mirror of
https://github.com/chylex/IntelliJ-Keyboard-Master.git
synced 2025-04-30 05:34:05 +02:00
Change vim-style navigation binding for 'X' to close all tree nodes
This commit is contained in:
parent
efe13712ad
commit
38c80a7b27
@ -44,7 +44,7 @@ internal object VimTreeNavigation {
|
|||||||
KeyStroke.getKeyStroke('p') to IdeaAction("Tree-selectParentNoCollapse"),
|
KeyStroke.getKeyStroke('p') to IdeaAction("Tree-selectParentNoCollapse"),
|
||||||
KeyStroke.getKeyStroke('P') to IdeaAction("Tree-selectFirst"),
|
KeyStroke.getKeyStroke('P') to IdeaAction("Tree-selectFirst"),
|
||||||
KeyStroke.getKeyStroke('x') to CollapseSelfOrParentNode,
|
KeyStroke.getKeyStroke('x') to CollapseSelfOrParentNode,
|
||||||
KeyStroke.getKeyStroke('X') to IdeaAction("CollapseTreeNode"),
|
KeyStroke.getKeyStroke('X') to CollapseAll,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -141,6 +141,21 @@ internal object VimTreeNavigation {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private data object CollapseAll : ActionNode<VimNavigationDispatcher<JTree>> {
|
||||||
|
override fun performAction(holder: VimNavigationDispatcher<JTree>, actionEvent: AnActionEvent, keyEvent: KeyEvent) {
|
||||||
|
val tree = holder.component
|
||||||
|
|
||||||
|
CollapseUntilRootNode.performAction(holder, actionEvent, keyEvent)
|
||||||
|
|
||||||
|
var row = 0
|
||||||
|
|
||||||
|
while (row < tree.rowCount) {
|
||||||
|
tree.collapseRow(row)
|
||||||
|
row++
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private data object ExpandChildrenToNextLevel : ActionNode<VimNavigationDispatcher<JTree>> {
|
private data object ExpandChildrenToNextLevel : ActionNode<VimNavigationDispatcher<JTree>> {
|
||||||
override fun performAction(holder: VimNavigationDispatcher<JTree>, actionEvent: AnActionEvent, keyEvent: KeyEvent) {
|
override fun performAction(holder: VimNavigationDispatcher<JTree>, actionEvent: AnActionEvent, keyEvent: KeyEvent) {
|
||||||
val tree = holder.component
|
val tree = holder.component
|
||||||
|
Loading…
Reference in New Issue
Block a user