From 5e3cb3a4eaa557b03d0d18a36f983cc6acec6ad1 Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Wed, 22 Jul 2015 14:19:45 +0900 Subject: Fix ANSI processor to handle multi-line regions --- src/core.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/core.go') 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 } } -- cgit v1.2.3