package cobol import ( "strings" "unicode" "go.wit.com/log" ) var WIDTH int = 120 var TERMSIZE int = 80 // getTerminalWidth returns the width of the active terminal. // If the output is not an interactive terminal (e.g., it's being piped to a file // or another command), it returns a default width and false. func getTerminalWidth() (int, bool) { newWidth, ok := osTerminalWidth() return newWidth, ok } // like the perl Chomp but with the terminal width func TerminalChomp(cut string) string { i, _ := getTerminalWidth() // log.Info("cobol.TerminalCut() at ", i) // TrimRightFunc removes all trailing runes r from the string s that satisfy f(r). // unicode.IsSpace reports whether the rune is a space character. cut = strings.TrimRightFunc(cut, unicode.IsSpace) if i >= len(cut) { return cut } else { return log.Sprintf("%s", cut[0:i]) } }