diff options
author | Björn Linse <bjorn.linse@gmail.com> | 2019-09-28 18:41:49 +0200 |
---|---|---|
committer | Björn Linse <bjorn.linse@gmail.com> | 2019-12-22 10:35:00 +0100 |
commit | 79bd8d2ab6cae1c0be3233a9a7551d0b7bcc5944 (patch) | |
tree | 5335e3950295d4342322976a07a76d9a1a642ed9 /src/tree_sitter/unicode.h | |
parent | 781c708c27816b07f1d20a333151886044534fab (diff) | |
download | rneovim-79bd8d2ab6cae1c0be3233a9a7551d0b7bcc5944.tar.gz rneovim-79bd8d2ab6cae1c0be3233a9a7551d0b7bcc5944.tar.bz2 rneovim-79bd8d2ab6cae1c0be3233a9a7551d0b7bcc5944.zip |
tree-sitter: update vendored tree-sitter runtime
tree-sitter/tree-sitter commit edb569310005c66838b7d69fa60850acac6abeee
Included files are:
lib/include/tree-sitter/*.h
lib/src/*.[ch]
lib/src/unicode/*
LICENSE
Diffstat (limited to 'src/tree_sitter/unicode.h')
-rw-r--r-- | src/tree_sitter/unicode.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/src/tree_sitter/unicode.h b/src/tree_sitter/unicode.h new file mode 100644 index 0000000000..0fba56a612 --- /dev/null +++ b/src/tree_sitter/unicode.h @@ -0,0 +1,50 @@ +#ifndef TREE_SITTER_UNICODE_H_ +#define TREE_SITTER_UNICODE_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include <limits.h> +#include <stdint.h> + +#define U_EXPORT +#define U_EXPORT2 +#include "unicode/utf8.h" +#include "unicode/utf16.h" + +static const int32_t TS_DECODE_ERROR = U_SENTINEL; + +// These functions read one unicode code point from the given string, +// returning the number of bytes consumed. +typedef uint32_t (*UnicodeDecodeFunction)( + const uint8_t *string, + uint32_t length, + int32_t *code_point +); + +static inline uint32_t ts_decode_utf8( + const uint8_t *string, + uint32_t length, + int32_t *code_point +) { + uint32_t i = 0; + U8_NEXT(string, i, length, *code_point); + return i; +} + +static inline uint32_t ts_decode_utf16( + const uint8_t *string, + uint32_t length, + int32_t *code_point +) { + uint32_t i = 0; + U16_NEXT(((uint16_t *)string), i, length, *code_point); + return i * 2; +} + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_UNICODE_H_ |