From 7b143069c82c4ad361307b464fc8bfac185a4748 Mon Sep 17 00:00:00 2001 From: Marcin Kulik Date: Wed, 18 Jan 2012 18:57:49 +0100 Subject: [PATCH] Simplified AnsiInterpreter#feed --- .../javascripts/ansi-interpreter.js.coffee | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/app/assets/javascripts/ansi-interpreter.js.coffee b/app/assets/javascripts/ansi-interpreter.js.coffee index 56d9d94..602b865 100644 --- a/app/assets/javascripts/ansi-interpreter.js.coffee +++ b/app/assets/javascripts/ansi-interpreter.js.coffee @@ -136,26 +136,19 @@ class AsciiIo.AnsiInterpreter @COMPILED_PATTERNS.push [ regexp, @PATTERNS[re] ] feed: (data) -> - match = undefined - handler = undefined - while data.length > 0 - match = handler = null - i = 0 + match = null - while i < @COMPILED_PATTERNS.length - pattern = @COMPILED_PATTERNS[i] + for pattern in @COMPILED_PATTERNS match = pattern[0].exec(data) + if match handler = pattern[1] + handler.call(this, data, match) + data = data.slice(match[0].length) break - i++ - if handler - handler.call this, data, match - data = data.slice(match[0].length) - else - break + break unless match @terminal.render() data