From 198529525c788f51babcd425ea7dcdb4d8125c04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Tue, 3 Dec 2019 19:16:05 +0100 Subject: [PATCH] selection: break out isword() to a new file --- meson.build | 1 + misc.c | 24 ++++++++++++++++++++++++ misc.h | 6 ++++++ selection.c | 22 +--------------------- 4 files changed, 32 insertions(+), 21 deletions(-) create mode 100644 misc.c create mode 100644 misc.h diff --git a/meson.build b/meson.build index 0603805b..5c662e9e 100644 --- a/meson.build +++ b/meson.build @@ -75,6 +75,7 @@ executable( 'input.c', 'input.h', 'log.c', 'log.h', 'main.c', + 'misc.c', 'misc.h', 'osc.c', 'osc.h', 'render.c', 'render.h', 'search.c', 'search.h', diff --git a/misc.c b/misc.c new file mode 100644 index 00000000..b8eb3296 --- /dev/null +++ b/misc.c @@ -0,0 +1,24 @@ +#include "misc.h" + +#include + +bool +isword(wchar_t wc, bool spaces_only) +{ + if (spaces_only) + return iswgraph(wc); + + switch (wc) { + default: return iswgraph(wc); + + case L'(': case L')': + case L'[': case L']': + case L'{': case L'}': + case L'<': case L'>': + case L'│': case L'|': + case L',': + case L'`': case L'"': case L'\'': + case L':': + return false; + } +} diff --git a/misc.h b/misc.h new file mode 100644 index 00000000..06dd3303 --- /dev/null +++ b/misc.h @@ -0,0 +1,6 @@ +#pragma once + +#include +#include + +bool isword(wchar_t wc, bool spaces_only); diff --git a/selection.c b/selection.c index b77dc64a..bbe990d7 100644 --- a/selection.c +++ b/selection.c @@ -15,6 +15,7 @@ #include "async.h" #include "grid.h" +#include "misc.h" #include "render.h" #include "vt.h" @@ -222,27 +223,6 @@ selection_cancel(struct terminal *term) } } -static bool -isword(wint_t c, bool spaces_only) -{ - if (spaces_only) - return !iswspace(c); - - switch (c) { - default: return !iswspace(c); - - case L'{': case L'}': - case L'[': case L']': - case L'(': case L')': - case L'`': - case L'\'': - case L'"': - case L',': case L'.': - case L':': case L';': - return false; - } -} - void selection_mark_word(struct terminal *term, int col, int row, bool spaces_only, uint32_t serial)