Buffer non-processed data in VT instead of AnsiInterpreter

openid
Marcin Kulik 12 years ago
parent 7b1be025d6
commit 1185e3a4d9

@ -3,24 +3,18 @@ class AsciiIo.AnsiInterpreter
constructor: (@callback) ->
@cb = @callback
@sgrInterpreter = new AsciiIo.SgrInterpreter()
@reset()
reset: ->
@data = ''
parse: (data) ->
@data += data
while @data.length > 0
processed = @handleData @data
while data.length > 0
processed = @handleData data
if processed is 0
# console.log "no kurwa: #{@formattedData(@data)}"
break
@data = @data.slice processed
data = data.slice processed
@data
data
handleData: (data) ->
if data.match(/^\x1b[\x00-\x1f]/)

@ -9,11 +9,13 @@ class AsciiIo.VT
@[action](args...)
feed: (data) ->
rest = @interpreter.parse data
rest.length is 0
@data += data
@data = @interpreter.parse @data
@data.length is 0
reset: ->
@interpreter.reset()
@data = ''
@resetTerminal()
bell: ->

Loading…
Cancel
Save