* feat(coding-agent): add fold/unfold to tree branch navigation

Remap left/right arrow keys in the session tree to jump between branch
segment starts (first child of each branching point). Left on a foldable
node (root or segment start) folds it, hiding its descendants. Right on
a folded node unfolds it. Nested fold state is preserved. Search and
filter changes reset all folds.

Folded branches show ⊞ in the connector (├⊞/└⊞) or as a prefix for
roots. Active path marker • appears after the fold indicator.

Add Page Up/Down support for paging through the tree list, consistent
with session selector and config selector.

* feat(coding-agent): improve tree branch folding closes #1724

---------

Co-authored-by: Sviatoslav Abakumov <dust.harvesting@gmail.com>
This commit is contained in:
Mario Zechner
2026-03-08 00:15:47 +01:00
committed by GitHub
parent 41e02598f5
commit d48843ea55
8 changed files with 473 additions and 7 deletions

View File

@@ -44,6 +44,9 @@ export type EditorAction =
| "undo"
// Tool output
| "expandTools"
// Tree navigation
| "treeFoldOrUp"
| "treeUnfoldOrDown"
// Session
| "toggleSessionPath"
| "toggleSessionSort"
@@ -105,6 +108,9 @@ export const DEFAULT_EDITOR_KEYBINDINGS: Required<EditorKeybindingsConfig> = {
undo: "ctrl+-",
// Tool output
expandTools: "ctrl+o",
// Tree navigation
treeFoldOrUp: ["ctrl+left", "alt+left"],
treeUnfoldOrDown: ["ctrl+right", "alt+right"],
// Session
toggleSessionPath: "ctrl+p",
toggleSessionSort: "ctrl+s",