Fix CUU and CUD cursor handling

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

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

@ -156,20 +156,22 @@ class AsciiIo.Terminal
@cursorX += 1
@updateLine()
cursorUp: ->
if @cursorY > 0
@cursorY -= 1
@updateLine @cursorY
@updateLine @cursorY + 1
cursorDown: ->
if @cursorY + 1 < @lines
@cursorY += 1
@updateLine @cursorY - 1
@updateLine @cursorY
else
@lineData.splice 0, 1
@updateScreen()
cursorUp: (n) ->
for i in [0...n]
if @cursorY > 0
@cursorY -= 1
@updateLine @cursorY
@updateLine @cursorY + 1
cursorDown: (n) ->
for i in [0...n]
if @cursorY + 1 < @lines
@cursorY += 1
@updateLine @cursorY - 1
@updateLine @cursorY
else
@lineData.splice 0, 1
@updateScreen()
cursorForward: (n) ->
i = 0

Loading…
Cancel
Save