#1441·tig

Feature request: tree-style layout for status view (S)

Author: phpmacCreated Jul 30, 2026Updated Jul 30, 2026

Summary

When opening the status view (S / sview-status), changed files are shown as a flat list of full paths under the usual staged / unstaged / untracked sections.

It would be very helpful to optionally show those paths in a directory tree layout (similar in spirit to tig’s existing tree view t), so nested files are grouped under parent directories instead of one long flat list.

Motivation

In larger worktrees (many files under deep directories), the flat status list is hard to scan:

Changes not staged for commit:
  M  plugins/a/skills/web3-work/SKILL.md
  M  plugins/a/rules/_web3_solidity.md
  M  src/foo/bar/baz.c
  M  src/foo/bar/qux.c
  M  src/foo/other.c

A tree-style layout makes structure and “what moved together under the same dir” much clearer, e.g.:

Changes not staged for commit:
  plugins/
    a/
      skills/web3-work/
        M  SKILL.md
      rules/
        M  _web3_solidity.md
  src/
    foo/
      bar/
        M  baz.c
        M  qux.c
      M  other.c

(Exact glyphs / indentation can match existing tig UI conventions.)

Suggested behavior

  • Keep the existing section headers (staged / unstaged / untracked / unmerged).
  • Within each section, optionally render paths as a collapsible or indented directory tree rather than a flat path list.
  • Prefer a toggle or option (e.g. set status-tree = yes or :toggle …) so the current flat list remains the default for people who like it.
  • Staging / unstaging / enter-to-diff should still work on file lines; directory rows could either be non-actionable headers or support bulk stage/unstage of that subtree (nice-to-have).

Related

  • Closest existing request: #1401 (status view with directory grouping) — mainly about condensing untracked directories (like git status / ls-files --directory), not a full tree layout for all status entries.
  • tig already has a tree view for repository contents; this asks for a tree-shaped presentation of the status file list, not replacing tree view.

Environment

  • tig 2.6.1 (Homebrew)
  • macOS

Thanks for considering this.