mirror of https://github.com/restic/restic.git
Merge pull request #854 from middelink/dynamic-host,tag-columns-in-cmd_snapshots
Dynamic host,tag columns widths in snapshots command
This commit is contained in:
commit
0afeb68e6c
|
@ -99,9 +99,22 @@ func runSnapshots(opts SnapshotOptions, gopts GlobalOptions, args []string) erro
|
||||||
// printSnapshotsReadable prints a text table of the snapshots in list to stdout.
|
// printSnapshotsReadable prints a text table of the snapshots in list to stdout.
|
||||||
func printSnapshotsReadable(stdout io.Writer, list []*restic.Snapshot) {
|
func printSnapshotsReadable(stdout io.Writer, list []*restic.Snapshot) {
|
||||||
|
|
||||||
|
// Determine the max widths for host and tag.
|
||||||
|
maxHost, maxTag := 10, 6
|
||||||
|
for _, sn := range list {
|
||||||
|
if len(sn.Hostname) > maxHost {
|
||||||
|
maxHost = len(sn.Hostname)
|
||||||
|
}
|
||||||
|
for _, tag := range sn.Tags {
|
||||||
|
if len(tag) > maxTag {
|
||||||
|
maxTag = len(tag)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
tab := NewTable()
|
tab := NewTable()
|
||||||
tab.Header = fmt.Sprintf("%-8s %-19s %-10s %-10s %-3s %s", "ID", "Date", "Host", "Tags", "", "Directory")
|
tab.Header = fmt.Sprintf("%-8s %-19s %-*s %-*s %-3s %s", "ID", "Date", -maxHost, "Host", -maxTag, "Tags", "", "Directory")
|
||||||
tab.RowFormat = "%-8s %-19s %-10s %-10s %-3s %s"
|
tab.RowFormat = fmt.Sprintf("%%-8s %%-19s %%%ds %%%ds %%-3s %%s", -maxHost, -maxTag)
|
||||||
|
|
||||||
for _, sn := range list {
|
for _, sn := range list {
|
||||||
if len(sn.Paths) == 0 {
|
if len(sn.Paths) == 0 {
|
||||||
|
|
Loading…
Reference in New Issue