From 5ca0a2965daee3a1b84970f69a40a85e16f60d61 Mon Sep 17 00:00:00 2001 From: Marcin Kulik Date: Fri, 20 Jan 2012 21:41:40 +0100 Subject: [PATCH] CSI M handler --- app/assets/javascripts/ansi-interpreter.js.coffee | 2 ++ app/assets/javascripts/terminal.js.coffee | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/app/assets/javascripts/ansi-interpreter.js.coffee b/app/assets/javascripts/ansi-interpreter.js.coffee index eab440e..d3a0c04 100644 --- a/app/assets/javascripts/ansi-interpreter.js.coffee +++ b/app/assets/javascripts/ansi-interpreter.js.coffee @@ -120,6 +120,8 @@ class AsciiIo.AnsiInterpreter @terminal.eraseInLine @n or 0 when "L" @terminal.insertLines @cursorY, @n or 1 + when "M" + @terminal.deleteLines @cursorY, @n or 1 when "d" # VPA - Vertical Position Absolute @terminal.setCursorLine(@n) when "l" # l, Reset mode diff --git a/app/assets/javascripts/terminal.js.coffee b/app/assets/javascripts/terminal.js.coffee index dc00508..3d8c07f 100644 --- a/app/assets/javascripts/terminal.js.coffee +++ b/app/assets/javascripts/terminal.js.coffee @@ -264,7 +264,17 @@ class AsciiIo.Terminal @clearLineData l i++ + # trim lineData to max size @lineData.length = @lines + + @updateScreen() + + deleteLines: (l, n) -> + @lineData.splice l, n + + # expand lineData to max size + @lineData.length = @lines + @updateScreen() fill: (line, col, n, char) ->