Introduction
Introduction Statistics Contact Development Disclaimer Help
use iswspace()/iswpunct() to find word delimiters - st - my customized version …
git clone git://git.codemadness.org/st
Log
Files
Refs
README
LICENSE
---
commit add0211522737b79dad990ccd65c8af63b5cc1dd
parent d5efd256aa3840476579a27293ef1fb92a4b51e7
Author: Lauri Tirkkonen <[email protected]>
Date: Wed, 13 Mar 2019 17:15:04 +0200
use iswspace()/iswpunct() to find word delimiters
this inverts the configuration logic: you no longer provide a list of
delimiters -- all space and punctuation characters are considered
delimiters, unless listed in extrawordchars.
Diffstat:
M config.def.h | 7 ++++---
M st.c | 3 ++-
M st.h | 2 +-
3 files changed, 7 insertions(+), 5 deletions(-)
---
diff --git a/config.def.h b/config.def.h
@@ -28,11 +28,12 @@ static float cwscale = 1.0;
static float chscale = 1.0;
/*
- * word delimiter string
+ * all space and punctuation characters are considered word delimiters, unless
+ * listed here.
*
- * More advanced example: L" `'\"()[]{}"
+ * More advanced example: L"#$%&+,-./:=?_~"
*/
-wchar_t *worddelimiters = L" ";
+wchar_t *extrawordchars = L"./:";
/* selection timeouts (in milliseconds) */
static unsigned int doubleclicktimeout = 300;
diff --git a/st.c b/st.c
@@ -16,6 +16,7 @@
#include <termios.h>
#include <unistd.h>
#include <wchar.h>
+#include <wctype.h>
#include "st.h"
#include "win.h"
@@ -41,7 +42,7 @@
#define ISCONTROLC0(c) (BETWEEN(c, 0, 0x1f) || (c) == '\177')
#define ISCONTROLC1(c) (BETWEEN(c, 0x80, 0x9f))
#define ISCONTROL(c) (ISCONTROLC0(c) || ISCONTROLC1(c))
-#define ISDELIM(u) (u != 0 && wcschr(worddelimiters, u) != NULL)
+#define ISDELIM(u) ((iswspace(u) || iswpunct(u)) && wcschr(extr…
enum term_mode {
MODE_WRAP = 1 << 0,
diff --git a/st.h b/st.h
@@ -114,7 +114,7 @@ char *xstrdup(char *);
extern char *utmp;
extern char *stty_args;
extern char *vtiden;
-extern wchar_t *worddelimiters;
+extern wchar_t *extrawordchars;
extern int allowaltscreen;
extern char *termname;
extern unsigned int tabspaces;
You are viewing proxied material from codemadness.org. 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.