From 8e968739c3cfc4e9f7088a9ea360bc4f37e9ad9f Mon Sep 17 00:00:00 2001
From: Christoph Lohmann <20h@r-36.net>
Date: Sat, 4 May 2013 19:04:20 +0200
Subject: [PATCH 1/1] Allow more complex delimiters for word selections.

Thanks Alexander Rezinsky <alexrez@gmail.com>!
---
 config.def.h | 9 ++++++++-
 st.c         | 4 +++-
 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;
 		}
-- 
2.20.1