Handle more standard esc sequences

openid
Marcin Kulik 13 years ago
parent 5a54654dc5
commit dec4d3dc31

@ -82,31 +82,42 @@ class AsciiIo.VT
@carriageReturn()
when "\x84"
@index() # "D"
@index() # "ESC D"
when "\x85"
@newLine() # "E"
@newLine() # "ESC E"
when "\x88"
@setHorizontalTabStop() # "H"
@setHorizontalTabStop() # "ESC H"
when "\x8d"
@reverseIndex() # "M"
@reverseIndex() # "ESC M"
handlePrintableCharacters: (text) ->
@buffer.print text
handleStandardEscSeq: (data) ->
last = data[data.length - 1]
intermediate = data[data.length - 2]
if last.match(/[\x40-\x5f]/)
# convert to C1
char = String.fromCharCode(last.charCodeAt(0) + 0x40)
@handleControlCharacter(char)
else
switch last
when "c"
@resetTerminal()
switch last
when "A"
if intermediate is '('
@setUkCharset()
when "B"
if intermediate is '('
@setUsCharset()
when "D"
@index()
when "E"
@newLine()
when "H"
@setHorizontalTabStop()
when "M"
@reverseIndex()
when "c"
@resetTerminal()
handlePrivateEscSeq: (data) ->
last = data[data.length - 1]
intermediate = data[data.length - 2]
switch last
when "0"

Loading…
Cancel
Save