about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2022-05-17 21:59:48 -0700
committerKartik K. Agaram <vc@akkartik.com>2022-05-17 21:59:48 -0700
commit319617141b296f23cc6130f1fddf4ea0fdc08183 (patch)
tree7c8fd41f78bf1dfb406d70ef460e02fee4f3fb74
parente1bc81408fc5097d5f0466e350a938147756921b (diff)
downloadview.love-319617141b296f23cc6130f1fddf4ea0fdc08183.tar.gz
join lines on delete
-rw-r--r--main.lua10
1 files changed, 9 insertions, 1 deletions
diff --git a/main.lua b/main.lua
index a8bd866..ea6b470 100644
--- a/main.lua
+++ b/main.lua
@@ -299,7 +299,7 @@ function keychord_pressed(chord)
       if Lines[Cursor_line-1].mode == 'drawing' then
         table.remove(Lines, Cursor_line-1)
       else
-        -- join Lines
+        -- join lines
         Cursor_pos = utf8.len(Lines[Cursor_line-1].data)+1
         Lines[Cursor_line-1].data = Lines[Cursor_line-1].data..Lines[Cursor_line].data
         table.remove(Lines, Cursor_line)
@@ -318,6 +318,14 @@ function keychord_pressed(chord)
         end
         -- no change to Cursor_pos
       end
+    elseif Cursor_line < #Lines then
+      if Lines[Cursor_line+1].mode == 'drawing' then
+        table.remove(Lines, Cursor_line+1)
+      else
+        -- join lines
+        Lines[Cursor_line].data = Lines[Cursor_line].data..Lines[Cursor_line+1].data
+        table.remove(Lines, Cursor_line+1)
+      end
     end
   elseif chord == 'up' then
     assert(Lines[Cursor_line].mode == 'text')