/usr/share/gocode/src/github.com/wsxiaoys/terminal/terminal.go is in golang-github-wsxiaoys-terminal-dev 0.0~git20160513.0.0940f3f-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | package terminal
import (
"fmt"
"github.com/wsxiaoys/terminal/color"
"io"
"log"
"os"
)
type TerminalWriter struct {
io.Writer
}
var (
Stdout = &TerminalWriter{os.Stdout}
Stderr = &TerminalWriter{os.Stderr}
)
func (w *TerminalWriter) checkOutput(s string) {
if _, err := io.WriteString(w, s); err != nil {
log.Fatal("Write to %v failed.", w)
}
}
func (w *TerminalWriter) Color(syntax string) *TerminalWriter {
escapeCode := color.Colorize(syntax)
w.checkOutput(escapeCode)
return w
}
func (w *TerminalWriter) Reset() *TerminalWriter {
w.checkOutput(color.ResetCode)
return w
}
func (w *TerminalWriter) Print(a ...interface{}) *TerminalWriter {
fmt.Fprint(w, a...)
return w
}
func (w *TerminalWriter) Nl(a ...interface{}) *TerminalWriter {
length := 1
if len(a) > 0 {
length = a[0].(int)
}
for i := 0; i < length; i++ {
w.checkOutput("\n")
}
return w
}
func (w *TerminalWriter) Colorf(format string, a ...interface{}) *TerminalWriter {
w.checkOutput(color.Sprintf(format, a...))
return w
}
func (w *TerminalWriter) Clear() *TerminalWriter {
w.checkOutput("\033[2J")
return w
}
func (w *TerminalWriter) ClearLine() *TerminalWriter {
w.checkOutput("\033[2K")
return w
}
func (w *TerminalWriter) Move(x, y int) *TerminalWriter {
w.checkOutput(fmt.Sprintf("\033[%d;%dH", x, y))
return w
}
func (w *TerminalWriter) Up(x int) *TerminalWriter {
w.checkOutput(fmt.Sprintf("\033[%dA", x))
return w
}
func (w *TerminalWriter) Down(x int) *TerminalWriter {
w.checkOutput(fmt.Sprintf("\033[%dB", x))
return w
}
func (w *TerminalWriter) Right(x int) *TerminalWriter {
w.checkOutput(fmt.Sprintf("\033[%dC", x))
return w
}
func (w *TerminalWriter) Left(x int) *TerminalWriter {
w.checkOutput(fmt.Sprintf("\033[%dD", x))
return w
}
|