server: terminal width should fallback to 80x25. (#1895)

Some environments might disable access to `/dev/tty`, fall
back to '80' in such scenarios.

Move to 'cheggaaa/pb' package for better cross platform
support on fetching terminal width.

Fixes #1891
This commit is contained in:
Harshavardhana
2016-06-13 08:05:28 +05:30
committed by Anand Babu (AB) Periasamy
parent 276282957e
commit 4ab57f7d60
29 changed files with 1165 additions and 301 deletions
+17
View File
@@ -0,0 +1,17 @@
package pb
import (
"regexp"
"unicode/utf8"
)
// Finds the control character sequences (like colors)
var ctrlFinder = regexp.MustCompile("\x1b\x5b[0-9]+\x6d")
func escapeAwareRuneCountInString(s string) int {
n := utf8.RuneCountInString(s)
for _, sm := range ctrlFinder.FindAllString(s, -1) {
n -= len(sm)
}
return n
}