st

fork of suckless's simple terminal
Index Commits Files Refs README LICENSE
commit 634c247fa76a5f649cdcc51109970e46ddaf5c32
parent 5938fa9d32379815757a83076069584f29a8d276
Author: Christoph Lohmann <20h@r-36.net>
Date:   Sat,  4 May 2013 08:05:11 +0200

Select to the end of row if end of line is reached.

Thanks Alexander Rezinsky <alexrez@gmail.com>!

Diffstat:
Mst.c | 12++++++++++++
1 file changed, 12 insertions(+), 0 deletions(-)
diff --git a/st.c b/st.c
@@ -679,6 +679,8 @@ selected(int x, int y) {
 
 void
 selsnap(int mode, int *x, int *y, int direction) {
+    int i;
+
     switch(mode) {
     case SNAP_WORD:
         /*
@@ -735,6 +737,16 @@ selsnap(int mode, int *x, int *y, int direction) {
         }
         break;
     default:
+        /*
+         * Select the whole line when the end of line is reached.
+         */
+        if(direction > 0) {
+            i = term.col;
+            while(--i > 0 && term.line[*y][i].c[0] == ' ')
+                /* nothing */;
+            if(i > 0 && i < *x)
+                *x = term.col - 1;
+        }
         break;
     }
 }