summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/ansi.go4
-rw-r--r--src/curses/curses.go8
2 files changed, 3 insertions, 9 deletions
diff --git a/src/ansi.go b/src/ansi.go
index e5ac81cb..02be18c6 100644
--- a/src/ansi.go
+++ b/src/ansi.go
@@ -35,7 +35,7 @@ func (s *ansiState) equals(t *ansiState) bool {
var ansiRegex *regexp.Regexp
func init() {
- ansiRegex = regexp.MustCompile("\x1b.[0-9;]*.")
+ ansiRegex = regexp.MustCompile("\x1b\\[[0-9;]*.|[\x0e\x0f]")
}
func extractColor(str string, state *ansiState, proc func(string, *ansiState) bool) (string, *[]ansiOffset, *ansiState) {
@@ -100,7 +100,7 @@ func interpretCode(ansiCode string, prevState *ansiState) *ansiState {
} else {
state = &ansiState{prevState.fg, prevState.bg, prevState.attr}
}
- if ansiCode[1] != '[' || ansiCode[len(ansiCode)-1] != 'm' {
+ if ansiCode[0] != '\x1b' || ansiCode[len(ansiCode)-1] != 'm' {
return state
}
diff --git a/src/curses/curses.go b/src/curses/curses.go
index e0e728c3..638a8629 100644
--- a/src/curses/curses.go
+++ b/src/curses/curses.go
@@ -682,13 +682,7 @@ func (w *Window) Erase() {
}
func (w *Window) Fill(str string) bool {
- return C.waddstr(w.win, C.CString(strings.Map(func(r rune) rune {
- // Remove ^N and ^O (set and unset altcharset)
- if r == 14 || r == 15 {
- return -1
- }
- return r
- }, str))) == C.OK
+ return C.waddstr(w.win, C.CString(str)) == C.OK
}
func (w *Window) CFill(str string, fg int, bg int, a Attr) bool {