Introduction
Introduction Statistics Contact Development Disclaimer Help
tChange the behavior of word snapping on delimiters - st - [fork] customized bu…
git clone git://src.adamsgaard.dk/st
Log
Files
Refs
README
LICENSE
---
commit 51466e019a67e9319e6c5a7fa4205842ca860b71
parent c490a60b804f467490cd4d8275a181dc37edef9f
Author: Ivan Delalande <[email protected]>
Date: Wed, 20 Aug 2014 21:20:44 +0200
Change the behavior of word snapping on delimiters
This makes any sequence of identical delimiters be considered a single
word in word-snapping mode. This seems more coherent for this mode and
is similar to what xterm does.
Signed-off-by: Roberto E. Vargas Caballero <[email protected]>
Diffstat:
M st.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
---
diff --git a/st.c b/st.c
t@@ -709,7 +709,8 @@ selected(int x, int y) {
void
selsnap(int mode, int *x, int *y, int direction) {
int newx, newy, xt, yt;
- Glyph *gp;
+ bool delim, prevdelim;
+ Glyph *gp, *prevgp;
switch(mode) {
case SNAP_WORD:
t@@ -717,6 +718,8 @@ selsnap(int mode, int *x, int *y, int direction) {
* Snap around if the word wraps around at the end or
* beginning of a line.
*/
+ prevgp = &term.line[*y][*x];
+ prevdelim = strchr(worddelimiters, prevgp->c[0]) != NULL;
for(;;) {
newx = *x + direction;
newy = *y;
t@@ -738,11 +741,15 @@ selsnap(int mode, int *x, int *y, int direction) {
break;
gp = &term.line[newy][newx];
- if (!(gp->mode & ATTR_WDUMMY) && strchr(worddelimiters…
+ delim = strchr(worddelimiters, gp->c[0]) != NULL;
+ if(!(gp->mode & ATTR_WDUMMY) && (delim != prevdelim
+ || (delim && gp->c[0] != prevgp->c[0])…
break;
*x = newx;
*y = newy;
+ prevgp = gp;
+ prevdelim = delim;
}
break;
case SNAP_LINE:
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.