summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ansi.go3
-rw-r--r--src/ansi_test.go8
2 files changed, 11 insertions, 0 deletions
diff --git a/src/ansi.go b/src/ansi.go
index 42c69166..f4c8f5a0 100644
--- a/src/ansi.go
+++ b/src/ansi.go
@@ -99,6 +99,9 @@ func interpretCode(ansiCode string, prevState *ansiState) *ansiState {
}
ansiCode = ansiCode[2 : len(ansiCode)-1]
+ if len(ansiCode) == 0 {
+ init()
+ }
for _, code := range strings.Split(ansiCode, ";") {
if num, err := strconv.Atoi(code); err == nil {
switch state256 {
diff --git a/src/ansi_test.go b/src/ansi_test.go
index d5e0e432..be982eb4 100644
--- a/src/ansi_test.go
+++ b/src/ansi_test.go
@@ -45,6 +45,14 @@ func TestExtractColor(t *testing.T) {
assert(offsets[0], 0, 11, -1, -1, true)
})
+ src = "\x1b[1mhello \x1b[mworld"
+ check(func(offsets []ansiOffset) {
+ if len(offsets) != 1 {
+ t.Fail()
+ }
+ assert(offsets[0], 0, 6, -1, -1, true)
+ })
+
src = "hello \x1b[34;45;1mworld"
check(func(offsets []ansiOffset) {
if len(offsets) != 1 {