Select to the end of row if end of line is reached. - st - Personal fork of st
 (HTM) git clone git://git.drkhsh.at/st.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 634c247fa76a5f649cdcc51109970e46ddaf5c32
 (DIR) parent 5938fa9d32379815757a83076069584f29a8d276
 (HTM) 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:
         M st.c                                |      12 ++++++++++++
       
       1 file changed, 12 insertions(+), 0 deletions(-)
       ---
 (DIR) 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;
                }
        }