Expand description
The top-level GitClient widget.
GitClient drives two screens, each a flat Shell of panes:
- Browse — the gitk-style history browser (commit list, diff, files).
- Commit — a
git gui-style staging screen (unstaged / staged file lists, a per-file diff, a message editor and a commit button).
saudade widgets are callback-free, so the cross-pane wiring is done here:
after each event the active screen’s selections (and a small command queue
menus/buttons push into) are polled, and dependent panes are rebuilt from
the RepoBackend.
Structs§
Functions§
- commit_
row - Build a commit-list row from a commit: ref badges + summary on the left, author and short date in the right-hand columns.
- file_
row - Format a changed file as a list row: status badge + path.