# st

Unnamed repository; edit this file 'description' to name the repository.

| Log | 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;
     	}
     }