Fix CUU and CUD cursor handling

openid
Marcin Kulik 13 years ago
parent 6f3bad7f49
commit 291bbdf9c7

@ -6,7 +6,7 @@ class AsciiIo.AnsiInterpreter
PATTERNS: PATTERNS:
"\x07": (data) -> # bell "\x07": (data) -> # bell
"\x08": (data) -> @terminal.bs() "\x08": (data) -> @terminal.bs()
"\x0a": (data) -> @terminal.cursorDown() "\x0a": (data) -> @terminal.cursorDown 1
"\x0d": (data) -> @terminal.cr() "\x0d": (data) -> @terminal.cr()
"\x0e": (data) -> "\x0e": (data) ->
"\x0f": (data) -> "\x0f": (data) ->

@ -156,13 +156,15 @@ class AsciiIo.Terminal
@cursorX += 1 @cursorX += 1
@updateLine() @updateLine()
cursorUp: -> cursorUp: (n) ->
for i in [0...n]
if @cursorY > 0 if @cursorY > 0
@cursorY -= 1 @cursorY -= 1
@updateLine @cursorY @updateLine @cursorY
@updateLine @cursorY + 1 @updateLine @cursorY + 1
cursorDown: -> cursorDown: (n) ->
for i in [0...n]
if @cursorY + 1 < @lines if @cursorY + 1 < @lines
@cursorY += 1 @cursorY += 1
@updateLine @cursorY - 1 @updateLine @cursorY - 1

Loading…
Cancel
Save