pub fn format_prune_plan(entries: &[PrunableEntry]) -> StringExpand description
Render the would-do plan for gwm prune --dry-run (issue #31).
Extracted from cmd_prune so the formatter is unit-testable on
arbitrary PrunableEntry fixtures (non-ASCII names / paths
without needing a real repo). Pure function: trailing newline
included; empty input still emits the canonical
“0 worktree(s) to prune” line so piped consumers get a stable
signal instead of empty stdout.
Column widths are computed in Unicode characters
(.chars().count()), not bytes (.len()), so non-ASCII paths
stay aligned in a fixed-width terminal.