mirror of
https://github.com/sheumann/hush.git
synced 2025-01-03 00:31:16 +00:00
lineedit: trivial codeshrink for vi-mode
Introduce and use BB_isalnum_or_underscore(). function old new delta BB_isalnum_or_underscore - 43 +43 vi_word_motion 162 150 -12 vi_end_motion 163 145 -18 vi_back_motion 198 179 -19 BB_isalnum 39 - -39 ------------------------------------------------------------------------------ (add/remove: 1/1 grow/shrink: 0/3 up/down: 43/-88) Total: -45 bytes Signed-off-by: Natanael Copa <ncopa@alpinelinux.org> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
9e5820a862
commit
7e6f9316a8
@ -81,7 +81,9 @@
|
|||||||
# define CHAR_T wchar_t
|
# define CHAR_T wchar_t
|
||||||
static bool BB_isspace(CHAR_T c) { return ((unsigned)c < 256 && isspace(c)); }
|
static bool BB_isspace(CHAR_T c) { return ((unsigned)c < 256 && isspace(c)); }
|
||||||
# if ENABLE_FEATURE_EDITING_VI
|
# if ENABLE_FEATURE_EDITING_VI
|
||||||
static bool BB_isalnum(CHAR_T c) { return ((unsigned)c < 256 && isalnum(c)); }
|
static bool BB_isalnum_or_underscore(CHAR_T c) {
|
||||||
|
return ((unsigned)c < 256 && isalnum(c)) || c == '_';
|
||||||
|
}
|
||||||
# endif
|
# endif
|
||||||
static bool BB_ispunct(CHAR_T c) { return ((unsigned)c < 256 && ispunct(c)); }
|
static bool BB_ispunct(CHAR_T c) { return ((unsigned)c < 256 && ispunct(c)); }
|
||||||
# undef isspace
|
# undef isspace
|
||||||
@ -96,7 +98,11 @@ static bool BB_ispunct(CHAR_T c) { return ((unsigned)c < 256 && ispunct(c)); }
|
|||||||
# define BB_NUL '\0'
|
# define BB_NUL '\0'
|
||||||
# define CHAR_T char
|
# define CHAR_T char
|
||||||
# define BB_isspace(c) isspace(c)
|
# define BB_isspace(c) isspace(c)
|
||||||
# define BB_isalnum(c) isalnum(c)
|
# if ENABLE_FEATURE_EDITING_VI
|
||||||
|
static bool BB_isalnum_or_underscore(CHAR_T c) {
|
||||||
|
return ((unsigned)c < 256 && isalnum(c)) || c == '_';
|
||||||
|
}
|
||||||
|
# endif
|
||||||
# define BB_ispunct(c) ispunct(c)
|
# define BB_ispunct(c) ispunct(c)
|
||||||
#endif
|
#endif
|
||||||
#if ENABLE_UNICODE_PRESERVE_BROKEN
|
#if ENABLE_UNICODE_PRESERVE_BROKEN
|
||||||
@ -1586,9 +1592,9 @@ vi_word_motion(int eat)
|
|||||||
{
|
{
|
||||||
CHAR_T *command = command_ps;
|
CHAR_T *command = command_ps;
|
||||||
|
|
||||||
if (BB_isalnum(command[cursor]) || command[cursor] == '_') {
|
if (BB_isalnum_or_underscore(command[cursor])) {
|
||||||
while (cursor < command_len
|
while (cursor < command_len
|
||||||
&& (BB_isalnum(command[cursor+1]) || command[cursor+1] == '_')
|
&& (BB_isalnum_or_underscore(command[cursor+1]))
|
||||||
) {
|
) {
|
||||||
input_forward();
|
input_forward();
|
||||||
}
|
}
|
||||||
@ -1630,9 +1636,9 @@ vi_end_motion(void)
|
|||||||
input_forward();
|
input_forward();
|
||||||
if (cursor >= command_len-1)
|
if (cursor >= command_len-1)
|
||||||
return;
|
return;
|
||||||
if (BB_isalnum(command[cursor]) || command[cursor] == '_') {
|
if (BB_isalnum_or_underscore(command[cursor])) {
|
||||||
while (cursor < command_len-1
|
while (cursor < command_len-1
|
||||||
&& (BB_isalnum(command[cursor+1]) || command[cursor+1] == '_')
|
&& (BB_isalnum_or_underscore(command[cursor+1]))
|
||||||
) {
|
) {
|
||||||
input_forward();
|
input_forward();
|
||||||
}
|
}
|
||||||
@ -1665,9 +1671,9 @@ vi_back_motion(void)
|
|||||||
input_backward(1);
|
input_backward(1);
|
||||||
if (cursor <= 0)
|
if (cursor <= 0)
|
||||||
return;
|
return;
|
||||||
if (BB_isalnum(command[cursor]) || command[cursor] == '_') {
|
if (BB_isalnum_or_underscore(command[cursor])) {
|
||||||
while (cursor > 0
|
while (cursor > 0
|
||||||
&& (BB_isalnum(command[cursor-1]) || command[cursor-1] == '_')
|
&& (BB_isalnum_or_underscore(command[cursor-1]))
|
||||||
) {
|
) {
|
||||||
input_backward(1);
|
input_backward(1);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user