diff options
| -rw-r--r-- | st.c | 12 |
1 files changed, 12 insertions, 0 deletions
| @@ -679,6 +679,8 @@ selected(int x, int y) { | |||
| 679 | 679 | ||
| 680 | void | 680 | void |
| 681 | selsnap(int mode, int *x, int *y, int direction) { | 681 | selsnap(int mode, int *x, int *y, int direction) { |
| 682 | int i; | ||
| 683 | |||
| 682 | switch(mode) { | 684 | switch(mode) { |
| 683 | case SNAP_WORD: | 685 | case SNAP_WORD: |
| 684 | /* | 686 | /* |
| @@ -735,6 +737,16 @@ selsnap(int mode, int *x, int *y, int direction) { | |||
| 735 | } | 737 | } |
| 736 | break; | 738 | break; |
| 737 | default: | 739 | default: |
| 740 | /* | ||
| 741 | * Select the whole line when the end of line is reached. | ||
| 742 | */ | ||
| 743 | if(direction > 0) { | ||
| 744 | i = term.col; | ||
| 745 | while(--i > 0 && term.line[*y][i].c[0] == ' ') | ||
| 746 | /* nothing */; | ||
| 747 | if(i > 0 && i < *x) | ||
| 748 | *x = term.col - 1; | ||
| 749 | } | ||
| 738 | break; | 750 | break; |
| 739 | } | 751 | } |
| 740 | } | 752 | } |
