Skip to content

v0.8.6 feat: file-tree pane — ⌃E toggles a left-side workspace navigator #394

@Hmbown

Description

@Hmbown

Pitch

opencode parity. Some users want to scan the workspace without leaving the TUI. `Ctrl+E` toggles a left-side file tree (similar to opencode's "explorer" pane) showing:

  • Workspace tree, gitignore-aware (uses our existing `ignore::WalkBuilder` walker).
  • Cursor + Up/Down nav, Enter opens the file in the transcript as a read-only preview.
  • `r` re-runs `grep_files` against the cursor's path.

Layout: when toggled, sidebar layout becomes `[file tree | chat | sidebar]` with sidebar collapsing if the terminal is < 160 cols.

Implementation sketch

  • New `tui/file_tree.rs` widget.
  • Lazy-load directory contents on first expand.
  • File preview goes through the existing `read_file` tool, rendered as a Syntax-highlighted code cell.

Acceptance

  • Ctrl+E toggles the pane; second press hides it.
  • Tree respects .gitignore / .ignore / .git/info/exclude.
  • Enter opens the file as a read-only transcript cell.
  • No regression in narrow terminals (< 160 cols → sidebar collapses, file tree stays).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestv0.8.6Targeting v0.8.6

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions