mirror of
https://github.com/sheumann/hush.git
synced 2024-11-16 18:12:41 +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
|
||||
static bool BB_isspace(CHAR_T c) { return ((unsigned)c < 256 && isspace(c)); }
|
||||
# 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
|
||||
static bool BB_ispunct(CHAR_T c) { return ((unsigned)c < 256 && ispunct(c)); }
|
||||
# undef isspace
|
||||
@ -96,7 +98,11 @@ static bool BB_ispunct(CHAR_T c) { return ((unsigned)c < 256 && ispunct(c)); }
|
||||
# define BB_NUL '\0'
|
||||
# define CHAR_T char
|
||||
# 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)
|
||||
#endif
|
||||
#if ENABLE_UNICODE_PRESERVE_BROKEN
|
||||
@ -1586,9 +1592,9 @@ vi_word_motion(int eat)
|
||||
{
|
||||
CHAR_T *command = command_ps;
|
||||
|
||||
if (BB_isalnum(command[cursor]) || command[cursor] == '_') {
|
||||
if (BB_isalnum_or_underscore(command[cursor])) {
|
||||
while (cursor < command_len
|
||||
&& (BB_isalnum(command[cursor+1]) || command[cursor+1] == '_')
|
||||
&& (BB_isalnum_or_underscore(command[cursor+1]))
|
||||
) {
|
||||
input_forward();
|
||||
}
|
||||
@ -1630,9 +1636,9 @@ vi_end_motion(void)
|
||||
input_forward();
|
||||
if (cursor >= command_len-1)
|
||||
return;
|
||||
if (BB_isalnum(command[cursor]) || command[cursor] == '_') {
|
||||
if (BB_isalnum_or_underscore(command[cursor])) {
|
||||
while (cursor < command_len-1
|
||||
&& (BB_isalnum(command[cursor+1]) || command[cursor+1] == '_')
|
||||
&& (BB_isalnum_or_underscore(command[cursor+1]))
|
||||
) {
|
||||
input_forward();
|
||||
}
|
||||
@ -1665,9 +1671,9 @@ vi_back_motion(void)
|
||||
input_backward(1);
|
||||
if (cursor <= 0)
|
||||
return;
|
||||
if (BB_isalnum(command[cursor]) || command[cursor] == '_') {
|
||||
if (BB_isalnum_or_underscore(command[cursor])) {
|
||||
while (cursor > 0
|
||||
&& (BB_isalnum(command[cursor-1]) || command[cursor-1] == '_')
|
||||
&& (BB_isalnum_or_underscore(command[cursor-1]))
|
||||
) {
|
||||
input_backward(1);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user