diff options
author | ZyX <kp-pav@yandex.ru> | 2017-11-30 02:01:49 +0300 |
---|---|---|
committer | ZyX <kp-pav@yandex.ru> | 2017-11-30 02:01:49 +0300 |
commit | de45ec0146486c49719ff6f6dcceb4914b471c7a (patch) | |
tree | efeca45f58023f8259511276815243539bffa1a1 /src/nvim/ascii.h | |
parent | 36a4f3a259ffa282129b18358cce4130397077c5 (diff) | |
download | rneovim-de45ec0146486c49719ff6f6dcceb4914b471c7a.tar.gz rneovim-de45ec0146486c49719ff6f6dcceb4914b471c7a.tar.bz2 rneovim-de45ec0146486c49719ff6f6dcceb4914b471c7a.zip |
keymap: Do not use vim_isIDc in keymap.c
Note: there are three changes to ascii_isident. Reverting first two (in
find_special_key and first in get_special_key_code) normally fails the new test
with empty &isident, but reverting the third does not. Hence adding `>` to
&isident.
Ref vim/vim#2389.
Diffstat (limited to 'src/nvim/ascii.h')
-rw-r--r-- | src/nvim/ascii.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/nvim/ascii.h b/src/nvim/ascii.h index adde91f9ec..9ccb70764d 100644 --- a/src/nvim/ascii.h +++ b/src/nvim/ascii.h @@ -3,6 +3,7 @@ #include <stdbool.h> +#include "nvim/macros.h" #include "nvim/func_attr.h" #include "nvim/os/os_defs.h" @@ -98,6 +99,10 @@ static inline bool ascii_isxdigit(int) REAL_FATTR_CONST REAL_FATTR_ALWAYS_INLINE; +static inline bool ascii_isident(int) + REAL_FATTR_CONST + REAL_FATTR_ALWAYS_INLINE; + static inline bool ascii_isbdigit(int) REAL_FATTR_CONST REAL_FATTR_ALWAYS_INLINE; @@ -138,6 +143,14 @@ static inline bool ascii_isxdigit(int c) || (c >= 'A' && c <= 'F'); } +/// Checks if `c` is an “identifier” character +/// +/// That is, whether it is alphanumeric character or underscore. +static inline bool ascii_isident(const int c) +{ + return ASCII_ISALNUM(c) || c == '_'; +} + /// Checks if `c` is a binary digit, that is, 0-1. /// /// @see {ascii_isdigit} |