aboutsummaryrefslogtreecommitdiff
path: root/src/tree_sitter/utf16.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/tree_sitter/utf16.h')
-rw-r--r--src/tree_sitter/utf16.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/tree_sitter/utf16.h b/src/tree_sitter/utf16.h
new file mode 100644
index 0000000000..32fd05e6db
--- /dev/null
+++ b/src/tree_sitter/utf16.h
@@ -0,0 +1,21 @@
+#ifndef TREE_SITTER_UTF16_H_
+#define TREE_SITTER_UTF16_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdint.h>
+#include <stdlib.h>
+#include "utf8proc.h"
+
+// Analogous to utf8proc's utf8proc_iterate function. Reads one code point from
+// the given UTF16 string and stores it in the location pointed to by `code_point`.
+// Returns the number of bytes in `string` that were read.
+utf8proc_ssize_t utf16_iterate(const utf8proc_uint8_t *, utf8proc_ssize_t, utf8proc_int32_t *);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // TREE_SITTER_UTF16_H_