summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2016-10-30 12:29:29 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2016-10-30 12:29:29 +0900
commit06a6ad8bcafdd2e8a07fdc9c39ad09ab212a95d7 (patch)
treec07a3f3fd4a412aa2c09b30a0db8baa84376d588 /src
parent02c6ad0e59be75981baeb1f41cb0bad03aad1c6b (diff)
downloadfzf-06a6ad8bcafdd2e8a07fdc9c39ad09ab212a95d7.tar.gz
Update ANSI processor to ignore ^N and ^O
This reverts commit 02c6ad0e59be75981baeb1f41cb0bad03aad1c6b.
Diffstat (limited to 'src')
-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 {