Skip to main content

Module ui

Module ui 

Source
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§

GitClient

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.