aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph Lohmann <20h@r-36.net>2013-05-04 19:04:20 +0200
committerChristoph Lohmann <20h@r-36.net>2013-05-04 19:04:20 +0200
commit8e968739c3cfc4e9f7088a9ea360bc4f37e9ad9f (patch)
tree216f0beee22b1d7a3703537a8f98cf90e52c22ae
parent0c2b513d01697aea20bb4a2a144b55e72c625e86 (diff)
downloadst-8e968739c3cfc4e9f7088a9ea360bc4f37e9ad9f.tar.gz
st-8e968739c3cfc4e9f7088a9ea360bc4f37e9ad9f.tar.bz2
Allow more complex delimiters for word selections.
Thanks Alexander Rezinsky <alexrez@gmail.com>!
-rw-r--r--config.def.h9
-rw-r--r--st.c4
2 files changed, 11 insertions, 2 deletions
diff --git a/config.def.h b/config.def.h
index d9a0568..2d854a0 100644
--- a/config.def.h
+++ b/config.def.h
@@ -9,7 +9,14 @@ static char font[] = "Liberation Mono:pixelsize=12:antialias=false:autohint=fals
static int borderpx = 2;
static char shell[] = "/bin/sh";
-/* timeouts (in milliseconds) */
+/*
+ * word delimiter string
+ *
+ * More advanced example: " `'\"()[]{}"
+ */
+static char worddelimiters[] = " ";
+
+/* selection timeouts (in milliseconds) */
static unsigned int doubleclicktimeout = 300;
static unsigned int tripleclicktimeout = 600;
diff --git a/st.c b/st.c
index 0f47d6d..5251e70 100644
--- a/st.c
+++ b/st.c
@@ -707,8 +707,10 @@ selsnap(int mode, int *x, int *y, int direction) {
}
}
- if(term.line[*y][*x + direction].c[0] == ' ')
+ if(strchr(worddelimiters,
+ term.line[*y][*x + direction].c[0])) {
break;
+ }
*x += direction;
}