diff options
author | Luke Shumaker <lukeshu@beefcake.parabola.nu> | 2018-05-19 01:38:13 -0400 |
---|---|---|
committer | Luke Shumaker <lukeshu@beefcake.parabola.nu> | 2018-05-19 01:38:13 -0400 |
commit | 86201baa1bf72f9717fc4643cd0a00554a23bd72 (patch) | |
tree | 9f53f1024d37a90be1b6ff2f2f37d69a68185ece /go/src/lib/statusline | |
parent | 1fd8e694c26a05069da7c660f1c4b95395bfea59 (diff) |
eh
Diffstat (limited to 'go/src/lib/statusline')
-rw-r--r-- | go/src/lib/statusline/statuslinue.go | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/go/src/lib/statusline/statuslinue.go b/go/src/lib/statusline/statuslinue.go new file mode 100644 index 0000000..90ec1af --- /dev/null +++ b/go/src/lib/statusline/statuslinue.go @@ -0,0 +1,24 @@ +package statusline + +import ( + "fmt" + "io" +) + +type StatusLine struct { + out io.Writer + prevLen int +} + +func NewStatusLine(out io.Writer) *StatusLine { + return &StatusLine{out: out} +} + +func (sl *StatusLine) Put(line string) { + fmt.Fprintf(sl.out, "\r%-[1]*[2]s", sl.prevLen, line) + sl.prevLen = len(line) +} + +func (sl *StatusLine) End() { + fmt.Fprintf(sl.out, "\r%-[1]*[2]s\r", sl.prevLen, "") +} |