JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
don't show spaces at end of lines (better copy/paste)
authorJason Woofenden <jason@jasonwoof.com>
Fri, 3 Apr 2015 15:21:38 +0000 (11:21 -0400)
committerJason Woofenden <jason@jasonwoof.com>
Fri, 3 Apr 2015 15:21:38 +0000 (11:21 -0400)
htmlterm.coffee

index fd4ad55..1cfef45 100644 (file)
@@ -97,7 +97,7 @@ class HTMLTerminal
                        cursor_x = @term.width - 1
                else
                        cursor_x = @term.x
-               # invert the cursor TODO: make it blink
+               # invert the cursor
                if @term.cursor_visible
                        @term.attributes[@term.y][cursor_x] ^= 0x080000
                for i in [0...@term.text.length]
@@ -112,7 +112,21 @@ class HTMLTerminal
                                        a = @term.attributes[i][j]
                                txt += @term.text[i][j]
                        if txt.length
-                               div.append(@stylize(txt, a))
+                               if a is 0x000007
+                                       # don't output spaces at the end, for better copy/paste
+                                       ns = txt.length - 1
+                                       while ns >= 0 and txt.charAt(ns) is ' '
+                                               ns -= 1
+                                       if ns >= 0
+                                               if ns < txt.length - 1
+                                                       txt = txt.substr 0, ns + 1
+                                               div.append(@stylize(txt, a))
+                                       else
+                                               # if entire line is spaces
+                                               if txt.length is @term.width
+                                                       div.append('<br>')
+                               else
+                                       div.append(@stylize(txt, a))
                        @parent_element.append(div)
                if @term.cursor_visible
                        @term.attributes[@term.y][cursor_x] ^= 0x080000