aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/ascii.h
diff options
context:
space:
mode:
authorZyX <kp-pav@yandex.ru>2017-11-30 02:01:49 +0300
committerZyX <kp-pav@yandex.ru>2017-11-30 02:01:49 +0300
commitde45ec0146486c49719ff6f6dcceb4914b471c7a (patch)
treeefeca45f58023f8259511276815243539bffa1a1 /src/nvim/ascii.h
parent36a4f3a259ffa282129b18358cce4130397077c5 (diff)
downloadrneovim-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.h13
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}