forked from TrueCloudLab/restic
Merge pull request #1034 from restic/fix-1030
prune: Fix status string for narrow terminals
This commit is contained in:
commit
e3c979a7a4
1 changed files with 13 additions and 4 deletions
|
@ -28,6 +28,18 @@ func init() {
|
|||
cmdRoot.AddCommand(cmdPrune)
|
||||
}
|
||||
|
||||
func shortenStatus(maxLength int, s string) string {
|
||||
if len(s) <= maxLength {
|
||||
return s
|
||||
}
|
||||
|
||||
if maxLength < 3 {
|
||||
return s[:maxLength]
|
||||
}
|
||||
|
||||
return s[:maxLength-3] + "..."
|
||||
}
|
||||
|
||||
// newProgressMax returns a progress that counts blobs.
|
||||
func newProgressMax(show bool, max uint64, description string) *restic.Progress {
|
||||
if !show {
|
||||
|
@ -43,10 +55,7 @@ func newProgressMax(show bool, max uint64, description string) *restic.Progress
|
|||
s.Blobs, max, description)
|
||||
|
||||
if w := stdoutTerminalWidth(); w > 0 {
|
||||
if len(status) > w {
|
||||
max := w - len(status) - 4
|
||||
status = status[:max] + "... "
|
||||
}
|
||||
status = shortenStatus(w, status)
|
||||
}
|
||||
|
||||
PrintProgress("%s", status)
|
||||
|
|
Loading…
Reference in a new issue