summaryrefslogtreecommitdiffstats
path: root/src/core.go
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2015-07-22 14:19:45 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2015-07-22 14:19:45 +0900
commit5e3cb3a4eaa557b03d0d18a36f983cc6acec6ad1 (patch)
tree3205662fa6d6616d036996864ebff7b5623ac599 /src/core.go
parentf71ea5f3ea469489fc979ee3c0cd2622d011befd (diff)
Fix ANSI processor to handle multi-line regions
Diffstat (limited to 'src/core.go')
-rw-r--r--src/core.go7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/core.go b/src/core.go
index e38908a8..7a0f1199 100644
--- a/src/core.go
+++ b/src/core.go
@@ -69,14 +69,17 @@ func Run(opts *Options) {
}
if opts.Ansi {
if opts.Theme != nil {
+ var state *ansiState
ansiProcessor = func(data *string) (*string, []ansiOffset) {
- return extractColor(data)
+ trimmed, offsets, newState := extractColor(data, state)
+ state = newState
+ return trimmed, offsets
}
} else {
// When color is disabled but ansi option is given,
// we simply strip out ANSI codes from the input
ansiProcessor = func(data *string) (*string, []ansiOffset) {
- trimmed, _ := extractColor(data)
+ trimmed, _, _ := extractColor(data, nil)
return trimmed, nil
}
}