changeset 696: | 38e9c3be2392 |
author: | Richard Westhaver <ellis@rwest.io> |
date: | Fri, 04 Oct 2024 21:11:52 -0400 |
permissions: | -rw-r--r-- |
description: | prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M |
696
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1 | #ifndef TREE_SITTER_API_H_ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
2 | #define TREE_SITTER_API_H_ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
3 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
4 | #ifndef TREE_SITTER_HIDE_SYMBOLS |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
5 | #if defined(__GNUC__) || defined(__clang__) |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
6 | #pragma GCC visibility push(default) |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
7 | #endif |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
8 | #endif |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
9 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
10 | #include <stdlib.h> |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
11 | #include <stdint.h> |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
12 | #include <stdbool.h> |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
13 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
14 | #ifdef __cplusplus |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
15 | extern "C" { |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
16 | #endif |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
17 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
18 | /****************************/ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
19 | /* Section - ABI Versioning */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
20 | /****************************/ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
21 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
22 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
23 | * The latest ABI version that is supported by the current version of the |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
24 | * library. When Languages are generated by the Tree-sitter CLI, they are |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
25 | * assigned an ABI version number that corresponds to the current CLI version. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
26 | * The Tree-sitter library is generally backwards-compatible with languages |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
27 | * generated using older CLI versions, but is not forwards-compatible. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
28 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
29 | #define TREE_SITTER_LANGUAGE_VERSION 14 |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
30 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
31 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
32 | * The earliest ABI version that is supported by the current version of the |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
33 | * library. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
34 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
35 | #define TREE_SITTER_MIN_COMPATIBLE_LANGUAGE_VERSION 13 |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
36 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
37 | /*******************/ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
38 | /* Section - Types */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
39 | /*******************/ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
40 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
41 | typedef uint16_t TSStateId; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
42 | typedef uint16_t TSSymbol; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
43 | typedef uint16_t TSFieldId; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
44 | typedef struct TSLanguage TSLanguage; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
45 | typedef struct TSParser TSParser; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
46 | typedef struct TSTree TSTree; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
47 | typedef struct TSQuery TSQuery; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
48 | typedef struct TSQueryCursor TSQueryCursor; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
49 | typedef struct TSLookaheadIterator TSLookaheadIterator; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
50 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
51 | typedef enum TSInputEncoding { |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
52 | TSInputEncodingUTF8, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
53 | TSInputEncodingUTF16, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
54 | } TSInputEncoding; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
55 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
56 | typedef enum TSSymbolType { |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
57 | TSSymbolTypeRegular, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
58 | TSSymbolTypeAnonymous, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
59 | TSSymbolTypeAuxiliary, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
60 | } TSSymbolType; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
61 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
62 | typedef struct TSPoint { |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
63 | uint32_t row; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
64 | uint32_t column; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
65 | } TSPoint; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
66 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
67 | typedef struct TSRange { |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
68 | TSPoint start_point; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
69 | TSPoint end_point; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
70 | uint32_t start_byte; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
71 | uint32_t end_byte; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
72 | } TSRange; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
73 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
74 | typedef struct TSInput { |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
75 | void *payload; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
76 | const char *(*read)(void *payload, uint32_t byte_index, TSPoint position, uint32_t *bytes_read); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
77 | TSInputEncoding encoding; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
78 | } TSInput; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
79 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
80 | typedef enum TSLogType { |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
81 | TSLogTypeParse, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
82 | TSLogTypeLex, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
83 | } TSLogType; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
84 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
85 | typedef struct TSLogger { |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
86 | void *payload; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
87 | void (*log)(void *payload, TSLogType log_type, const char *buffer); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
88 | } TSLogger; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
89 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
90 | typedef struct TSInputEdit { |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
91 | uint32_t start_byte; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
92 | uint32_t old_end_byte; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
93 | uint32_t new_end_byte; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
94 | TSPoint start_point; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
95 | TSPoint old_end_point; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
96 | TSPoint new_end_point; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
97 | } TSInputEdit; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
98 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
99 | typedef struct TSNode { |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
100 | uint32_t context[4]; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
101 | const void *id; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
102 | const TSTree *tree; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
103 | } TSNode; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
104 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
105 | typedef struct TSTreeCursor { |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
106 | const void *tree; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
107 | const void *id; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
108 | uint32_t context[3]; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
109 | } TSTreeCursor; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
110 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
111 | typedef struct TSQueryCapture { |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
112 | TSNode node; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
113 | uint32_t index; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
114 | } TSQueryCapture; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
115 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
116 | typedef enum TSQuantifier { |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
117 | TSQuantifierZero = 0, // must match the array initialization value |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
118 | TSQuantifierZeroOrOne, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
119 | TSQuantifierZeroOrMore, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
120 | TSQuantifierOne, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
121 | TSQuantifierOneOrMore, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
122 | } TSQuantifier; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
123 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
124 | typedef struct TSQueryMatch { |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
125 | uint32_t id; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
126 | uint16_t pattern_index; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
127 | uint16_t capture_count; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
128 | const TSQueryCapture *captures; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
129 | } TSQueryMatch; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
130 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
131 | typedef enum TSQueryPredicateStepType { |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
132 | TSQueryPredicateStepTypeDone, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
133 | TSQueryPredicateStepTypeCapture, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
134 | TSQueryPredicateStepTypeString, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
135 | } TSQueryPredicateStepType; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
136 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
137 | typedef struct TSQueryPredicateStep { |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
138 | TSQueryPredicateStepType type; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
139 | uint32_t value_id; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
140 | } TSQueryPredicateStep; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
141 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
142 | typedef enum TSQueryError { |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
143 | TSQueryErrorNone = 0, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
144 | TSQueryErrorSyntax, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
145 | TSQueryErrorNodeType, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
146 | TSQueryErrorField, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
147 | TSQueryErrorCapture, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
148 | TSQueryErrorStructure, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
149 | TSQueryErrorLanguage, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
150 | } TSQueryError; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
151 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
152 | /********************/ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
153 | /* Section - Parser */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
154 | /********************/ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
155 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
156 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
157 | * Create a new parser. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
158 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
159 | TSParser *ts_parser_new(void); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
160 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
161 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
162 | * Delete the parser, freeing all of the memory that it used. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
163 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
164 | void ts_parser_delete(TSParser *self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
165 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
166 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
167 | * Get the parser's current language. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
168 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
169 | const TSLanguage *ts_parser_language(const TSParser *self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
170 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
171 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
172 | * Set the language that the parser should use for parsing. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
173 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
174 | * Returns a boolean indicating whether or not the language was successfully |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
175 | * assigned. True means assignment succeeded. False means there was a version |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
176 | * mismatch: the language was generated with an incompatible version of the |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
177 | * Tree-sitter CLI. Check the language's version using [`ts_language_version`] |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
178 | * and compare it to this library's [`TREE_SITTER_LANGUAGE_VERSION`] and |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
179 | * [`TREE_SITTER_MIN_COMPATIBLE_LANGUAGE_VERSION`] constants. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
180 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
181 | bool ts_parser_set_language(TSParser *self, const TSLanguage *language); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
182 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
183 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
184 | * Set the ranges of text that the parser should include when parsing. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
185 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
186 | * By default, the parser will always include entire documents. This function |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
187 | * allows you to parse only a *portion* of a document but still return a syntax |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
188 | * tree whose ranges match up with the document as a whole. You can also pass |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
189 | * multiple disjoint ranges. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
190 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
191 | * The second and third parameters specify the location and length of an array |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
192 | * of ranges. The parser does *not* take ownership of these ranges; it copies |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
193 | * the data, so it doesn't matter how these ranges are allocated. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
194 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
195 | * If `count` is zero, then the entire document will be parsed. Otherwise, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
196 | * the given ranges must be ordered from earliest to latest in the document, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
197 | * and they must not overlap. That is, the following must hold for all: |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
198 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
199 | * `i < count - 1`: `ranges[i].end_byte <= ranges[i + 1].start_byte` |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
200 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
201 | * If this requirement is not satisfied, the operation will fail, the ranges |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
202 | * will not be assigned, and this function will return `false`. On success, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
203 | * this function returns `true` |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
204 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
205 | bool ts_parser_set_included_ranges( |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
206 | TSParser *self, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
207 | const TSRange *ranges, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
208 | uint32_t count |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
209 | ); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
210 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
211 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
212 | * Get the ranges of text that the parser will include when parsing. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
213 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
214 | * The returned pointer is owned by the parser. The caller should not free it |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
215 | * or write to it. The length of the array will be written to the given |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
216 | * `count` pointer. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
217 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
218 | const TSRange *ts_parser_included_ranges( |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
219 | const TSParser *self, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
220 | uint32_t *count |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
221 | ); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
222 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
223 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
224 | * Use the parser to parse some source code and create a syntax tree. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
225 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
226 | * If you are parsing this document for the first time, pass `NULL` for the |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
227 | * `old_tree` parameter. Otherwise, if you have already parsed an earlier |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
228 | * version of this document and the document has since been edited, pass the |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
229 | * previous syntax tree so that the unchanged parts of it can be reused. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
230 | * This will save time and memory. For this to work correctly, you must have |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
231 | * already edited the old syntax tree using the [`ts_tree_edit`] function in a |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
232 | * way that exactly matches the source code changes. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
233 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
234 | * The [`TSInput`] parameter lets you specify how to read the text. It has the |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
235 | * following three fields: |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
236 | * 1. [`read`]: A function to retrieve a chunk of text at a given byte offset |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
237 | * and (row, column) position. The function should return a pointer to the |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
238 | * text and write its length to the [`bytes_read`] pointer. The parser does |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
239 | * not take ownership of this buffer; it just borrows it until it has |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
240 | * finished reading it. The function should write a zero value to the |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
241 | * [`bytes_read`] pointer to indicate the end of the document. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
242 | * 2. [`payload`]: An arbitrary pointer that will be passed to each invocation |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
243 | * of the [`read`] function. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
244 | * 3. [`encoding`]: An indication of how the text is encoded. Either |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
245 | * `TSInputEncodingUTF8` or `TSInputEncodingUTF16`. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
246 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
247 | * This function returns a syntax tree on success, and `NULL` on failure. There |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
248 | * are three possible reasons for failure: |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
249 | * 1. The parser does not have a language assigned. Check for this using the |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
250 | [`ts_parser_language`] function. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
251 | * 2. Parsing was cancelled due to a timeout that was set by an earlier call to |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
252 | * the [`ts_parser_set_timeout_micros`] function. You can resume parsing from |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
253 | * where the parser left out by calling [`ts_parser_parse`] again with the |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
254 | * same arguments. Or you can start parsing from scratch by first calling |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
255 | * [`ts_parser_reset`]. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
256 | * 3. Parsing was cancelled using a cancellation flag that was set by an |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
257 | * earlier call to [`ts_parser_set_cancellation_flag`]. You can resume parsing |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
258 | * from where the parser left out by calling [`ts_parser_parse`] again with |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
259 | * the same arguments. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
260 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
261 | * [`read`]: TSInput::read |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
262 | * [`payload`]: TSInput::payload |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
263 | * [`encoding`]: TSInput::encoding |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
264 | * [`bytes_read`]: TSInput::read |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
265 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
266 | TSTree *ts_parser_parse( |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
267 | TSParser *self, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
268 | const TSTree *old_tree, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
269 | TSInput input |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
270 | ); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
271 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
272 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
273 | * Use the parser to parse some source code stored in one contiguous buffer. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
274 | * The first two parameters are the same as in the [`ts_parser_parse`] function |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
275 | * above. The second two parameters indicate the location of the buffer and its |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
276 | * length in bytes. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
277 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
278 | TSTree *ts_parser_parse_string( |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
279 | TSParser *self, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
280 | const TSTree *old_tree, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
281 | const char *string, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
282 | uint32_t length |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
283 | ); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
284 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
285 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
286 | * Use the parser to parse some source code stored in one contiguous buffer with |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
287 | * a given encoding. The first four parameters work the same as in the |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
288 | * [`ts_parser_parse_string`] method above. The final parameter indicates whether |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
289 | * the text is encoded as UTF8 or UTF16. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
290 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
291 | TSTree *ts_parser_parse_string_encoding( |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
292 | TSParser *self, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
293 | const TSTree *old_tree, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
294 | const char *string, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
295 | uint32_t length, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
296 | TSInputEncoding encoding |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
297 | ); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
298 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
299 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
300 | * Instruct the parser to start the next parse from the beginning. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
301 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
302 | * If the parser previously failed because of a timeout or a cancellation, then |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
303 | * by default, it will resume where it left off on the next call to |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
304 | * [`ts_parser_parse`] or other parsing functions. If you don't want to resume, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
305 | * and instead intend to use this parser to parse some other document, you must |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
306 | * call [`ts_parser_reset`] first. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
307 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
308 | void ts_parser_reset(TSParser *self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
309 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
310 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
311 | * Set the maximum duration in microseconds that parsing should be allowed to |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
312 | * take before halting. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
313 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
314 | * If parsing takes longer than this, it will halt early, returning NULL. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
315 | * See [`ts_parser_parse`] for more information. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
316 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
317 | void ts_parser_set_timeout_micros(TSParser *self, uint64_t timeout_micros); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
318 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
319 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
320 | * Get the duration in microseconds that parsing is allowed to take. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
321 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
322 | uint64_t ts_parser_timeout_micros(const TSParser *self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
323 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
324 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
325 | * Set the parser's current cancellation flag pointer. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
326 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
327 | * If a non-null pointer is assigned, then the parser will periodically read |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
328 | * from this pointer during parsing. If it reads a non-zero value, it will |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
329 | * halt early, returning NULL. See [`ts_parser_parse`] for more information. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
330 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
331 | void ts_parser_set_cancellation_flag(TSParser *self, const size_t *flag); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
332 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
333 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
334 | * Get the parser's current cancellation flag pointer. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
335 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
336 | const size_t *ts_parser_cancellation_flag(const TSParser *self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
337 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
338 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
339 | * Set the logger that a parser should use during parsing. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
340 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
341 | * The parser does not take ownership over the logger payload. If a logger was |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
342 | * previously assigned, the caller is responsible for releasing any memory |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
343 | * owned by the previous logger. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
344 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
345 | void ts_parser_set_logger(TSParser *self, TSLogger logger); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
346 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
347 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
348 | * Get the parser's current logger. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
349 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
350 | TSLogger ts_parser_logger(const TSParser *self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
351 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
352 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
353 | * Set the file descriptor to which the parser should write debugging graphs |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
354 | * during parsing. The graphs are formatted in the DOT language. You may want |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
355 | * to pipe these graphs directly to a `dot(1)` process in order to generate |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
356 | * SVG output. You can turn off this logging by passing a negative number. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
357 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
358 | void ts_parser_print_dot_graphs(TSParser *self, int fd); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
359 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
360 | /******************/ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
361 | /* Section - Tree */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
362 | /******************/ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
363 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
364 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
365 | * Create a shallow copy of the syntax tree. This is very fast. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
366 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
367 | * You need to copy a syntax tree in order to use it on more than one thread at |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
368 | * a time, as syntax trees are not thread safe. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
369 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
370 | TSTree *ts_tree_copy(const TSTree *self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
371 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
372 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
373 | * Delete the syntax tree, freeing all of the memory that it used. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
374 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
375 | void ts_tree_delete(TSTree *self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
376 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
377 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
378 | * Get the root node of the syntax tree. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
379 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
380 | TSNode ts_tree_root_node(const TSTree *self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
381 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
382 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
383 | * Get the root node of the syntax tree, but with its position |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
384 | * shifted forward by the given offset. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
385 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
386 | TSNode ts_tree_root_node_with_offset( |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
387 | const TSTree *self, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
388 | uint32_t offset_bytes, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
389 | TSPoint offset_extent |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
390 | ); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
391 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
392 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
393 | * Get the language that was used to parse the syntax tree. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
394 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
395 | const TSLanguage *ts_tree_language(const TSTree *self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
396 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
397 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
398 | * Get the array of included ranges that was used to parse the syntax tree. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
399 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
400 | * The returned pointer must be freed by the caller. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
401 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
402 | TSRange *ts_tree_included_ranges(const TSTree *self, uint32_t *length); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
403 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
404 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
405 | * Edit the syntax tree to keep it in sync with source code that has been |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
406 | * edited. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
407 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
408 | * You must describe the edit both in terms of byte offsets and in terms of |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
409 | * (row, column) coordinates. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
410 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
411 | void ts_tree_edit(TSTree *self, const TSInputEdit *edit); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
412 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
413 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
414 | * Compare an old edited syntax tree to a new syntax tree representing the same |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
415 | * document, returning an array of ranges whose syntactic structure has changed. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
416 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
417 | * For this to work correctly, the old syntax tree must have been edited such |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
418 | * that its ranges match up to the new tree. Generally, you'll want to call |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
419 | * this function right after calling one of the [`ts_parser_parse`] functions. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
420 | * You need to pass the old tree that was passed to parse, as well as the new |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
421 | * tree that was returned from that function. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
422 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
423 | * The returned array is allocated using `malloc` and the caller is responsible |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
424 | * for freeing it using `free`. The length of the array will be written to the |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
425 | * given `length` pointer. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
426 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
427 | TSRange *ts_tree_get_changed_ranges( |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
428 | const TSTree *old_tree, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
429 | const TSTree *new_tree, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
430 | uint32_t *length |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
431 | ); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
432 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
433 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
434 | * Write a DOT graph describing the syntax tree to the given file. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
435 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
436 | void ts_tree_print_dot_graph(const TSTree *self, int file_descriptor); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
437 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
438 | /******************/ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
439 | /* Section - Node */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
440 | /******************/ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
441 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
442 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
443 | * Get the node's type as a null-terminated string. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
444 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
445 | const char *ts_node_type(TSNode self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
446 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
447 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
448 | * Get the node's type as a numerical id. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
449 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
450 | TSSymbol ts_node_symbol(TSNode self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
451 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
452 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
453 | * Get the node's language. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
454 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
455 | const TSLanguage *ts_node_language(TSNode self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
456 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
457 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
458 | * Get the node's type as it appears in the grammar ignoring aliases as a |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
459 | * null-terminated string. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
460 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
461 | const char *ts_node_grammar_type(TSNode self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
462 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
463 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
464 | * Get the node's type as a numerical id as it appears in the grammar ignoring |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
465 | * aliases. This should be used in [`ts_language_next_state`] instead of |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
466 | * [`ts_node_symbol`]. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
467 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
468 | TSSymbol ts_node_grammar_symbol(TSNode self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
469 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
470 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
471 | * Get the node's start byte. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
472 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
473 | uint32_t ts_node_start_byte(TSNode self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
474 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
475 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
476 | * Get the node's start position in terms of rows and columns. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
477 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
478 | TSPoint ts_node_start_point(TSNode self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
479 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
480 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
481 | * Get the node's end byte. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
482 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
483 | uint32_t ts_node_end_byte(TSNode self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
484 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
485 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
486 | * Get the node's end position in terms of rows and columns. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
487 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
488 | TSPoint ts_node_end_point(TSNode self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
489 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
490 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
491 | * Get an S-expression representing the node as a string. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
492 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
493 | * This string is allocated with `malloc` and the caller is responsible for |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
494 | * freeing it using `free`. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
495 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
496 | char *ts_node_string(TSNode self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
497 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
498 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
499 | * Check if the node is null. Functions like [`ts_node_child`] and |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
500 | * [`ts_node_next_sibling`] will return a null node to indicate that no such node |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
501 | * was found. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
502 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
503 | bool ts_node_is_null(TSNode self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
504 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
505 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
506 | * Check if the node is *named*. Named nodes correspond to named rules in the |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
507 | * grammar, whereas *anonymous* nodes correspond to string literals in the |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
508 | * grammar. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
509 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
510 | bool ts_node_is_named(TSNode self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
511 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
512 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
513 | * Check if the node is *missing*. Missing nodes are inserted by the parser in |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
514 | * order to recover from certain kinds of syntax errors. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
515 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
516 | bool ts_node_is_missing(TSNode self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
517 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
518 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
519 | * Check if the node is *extra*. Extra nodes represent things like comments, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
520 | * which are not required the grammar, but can appear anywhere. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
521 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
522 | bool ts_node_is_extra(TSNode self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
523 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
524 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
525 | * Check if a syntax node has been edited. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
526 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
527 | bool ts_node_has_changes(TSNode self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
528 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
529 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
530 | * Check if the node is a syntax error or contains any syntax errors. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
531 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
532 | bool ts_node_has_error(TSNode self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
533 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
534 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
535 | * Check if the node is a syntax error. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
536 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
537 | bool ts_node_is_error(TSNode self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
538 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
539 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
540 | * Get this node's parse state. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
541 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
542 | TSStateId ts_node_parse_state(TSNode self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
543 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
544 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
545 | * Get the parse state after this node. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
546 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
547 | TSStateId ts_node_next_parse_state(TSNode self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
548 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
549 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
550 | * Get the node's immediate parent. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
551 | * Prefer [`ts_node_child_containing_descendant`] for |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
552 | * iterating over the node's ancestors. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
553 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
554 | TSNode ts_node_parent(TSNode self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
555 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
556 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
557 | * Get the node's child that contains `descendant`. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
558 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
559 | TSNode ts_node_child_containing_descendant(TSNode self, TSNode descendant); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
560 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
561 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
562 | * Get the node's child at the given index, where zero represents the first |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
563 | * child. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
564 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
565 | TSNode ts_node_child(TSNode self, uint32_t child_index); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
566 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
567 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
568 | * Get the field name for node's child at the given index, where zero represents |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
569 | * the first child. Returns NULL, if no field is found. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
570 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
571 | const char *ts_node_field_name_for_child(TSNode self, uint32_t child_index); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
572 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
573 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
574 | * Get the node's number of children. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
575 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
576 | uint32_t ts_node_child_count(TSNode self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
577 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
578 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
579 | * Get the node's *named* child at the given index. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
580 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
581 | * See also [`ts_node_is_named`]. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
582 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
583 | TSNode ts_node_named_child(TSNode self, uint32_t child_index); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
584 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
585 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
586 | * Get the node's number of *named* children. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
587 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
588 | * See also [`ts_node_is_named`]. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
589 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
590 | uint32_t ts_node_named_child_count(TSNode self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
591 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
592 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
593 | * Get the node's child with the given field name. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
594 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
595 | TSNode ts_node_child_by_field_name( |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
596 | TSNode self, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
597 | const char *name, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
598 | uint32_t name_length |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
599 | ); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
600 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
601 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
602 | * Get the node's child with the given numerical field id. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
603 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
604 | * You can convert a field name to an id using the |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
605 | * [`ts_language_field_id_for_name`] function. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
606 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
607 | TSNode ts_node_child_by_field_id(TSNode self, TSFieldId field_id); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
608 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
609 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
610 | * Get the node's next / previous sibling. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
611 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
612 | TSNode ts_node_next_sibling(TSNode self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
613 | TSNode ts_node_prev_sibling(TSNode self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
614 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
615 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
616 | * Get the node's next / previous *named* sibling. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
617 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
618 | TSNode ts_node_next_named_sibling(TSNode self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
619 | TSNode ts_node_prev_named_sibling(TSNode self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
620 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
621 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
622 | * Get the node's first child that extends beyond the given byte offset. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
623 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
624 | TSNode ts_node_first_child_for_byte(TSNode self, uint32_t byte); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
625 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
626 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
627 | * Get the node's first named child that extends beyond the given byte offset. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
628 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
629 | TSNode ts_node_first_named_child_for_byte(TSNode self, uint32_t byte); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
630 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
631 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
632 | * Get the node's number of descendants, including one for the node itself. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
633 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
634 | uint32_t ts_node_descendant_count(TSNode self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
635 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
636 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
637 | * Get the smallest node within this node that spans the given range of bytes |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
638 | * or (row, column) positions. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
639 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
640 | TSNode ts_node_descendant_for_byte_range(TSNode self, uint32_t start, uint32_t end); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
641 | TSNode ts_node_descendant_for_point_range(TSNode self, TSPoint start, TSPoint end); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
642 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
643 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
644 | * Get the smallest named node within this node that spans the given range of |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
645 | * bytes or (row, column) positions. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
646 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
647 | TSNode ts_node_named_descendant_for_byte_range(TSNode self, uint32_t start, uint32_t end); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
648 | TSNode ts_node_named_descendant_for_point_range(TSNode self, TSPoint start, TSPoint end); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
649 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
650 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
651 | * Edit the node to keep it in-sync with source code that has been edited. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
652 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
653 | * This function is only rarely needed. When you edit a syntax tree with the |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
654 | * [`ts_tree_edit`] function, all of the nodes that you retrieve from the tree |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
655 | * afterward will already reflect the edit. You only need to use [`ts_node_edit`] |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
656 | * when you have a [`TSNode`] instance that you want to keep and continue to use |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
657 | * after an edit. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
658 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
659 | void ts_node_edit(TSNode *self, const TSInputEdit *edit); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
660 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
661 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
662 | * Check if two nodes are identical. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
663 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
664 | bool ts_node_eq(TSNode self, TSNode other); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
665 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
666 | /************************/ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
667 | /* Section - TreeCursor */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
668 | /************************/ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
669 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
670 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
671 | * Create a new tree cursor starting from the given node. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
672 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
673 | * A tree cursor allows you to walk a syntax tree more efficiently than is |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
674 | * possible using the [`TSNode`] functions. It is a mutable object that is always |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
675 | * on a certain syntax node, and can be moved imperatively to different nodes. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
676 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
677 | TSTreeCursor ts_tree_cursor_new(TSNode node); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
678 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
679 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
680 | * Delete a tree cursor, freeing all of the memory that it used. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
681 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
682 | void ts_tree_cursor_delete(TSTreeCursor *self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
683 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
684 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
685 | * Re-initialize a tree cursor to start at the original node that the cursor was |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
686 | * constructed with. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
687 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
688 | void ts_tree_cursor_reset(TSTreeCursor *self, TSNode node); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
689 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
690 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
691 | * Re-initialize a tree cursor to the same position as another cursor. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
692 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
693 | * Unlike [`ts_tree_cursor_reset`], this will not lose parent information and |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
694 | * allows reusing already created cursors. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
695 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
696 | void ts_tree_cursor_reset_to(TSTreeCursor *dst, const TSTreeCursor *src); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
697 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
698 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
699 | * Get the tree cursor's current node. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
700 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
701 | TSNode ts_tree_cursor_current_node(const TSTreeCursor *self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
702 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
703 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
704 | * Get the field name of the tree cursor's current node. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
705 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
706 | * This returns `NULL` if the current node doesn't have a field. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
707 | * See also [`ts_node_child_by_field_name`]. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
708 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
709 | const char *ts_tree_cursor_current_field_name(const TSTreeCursor *self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
710 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
711 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
712 | * Get the field id of the tree cursor's current node. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
713 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
714 | * This returns zero if the current node doesn't have a field. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
715 | * See also [`ts_node_child_by_field_id`], [`ts_language_field_id_for_name`]. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
716 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
717 | TSFieldId ts_tree_cursor_current_field_id(const TSTreeCursor *self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
718 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
719 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
720 | * Move the cursor to the parent of its current node. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
721 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
722 | * This returns `true` if the cursor successfully moved, and returns `false` |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
723 | * if there was no parent node (the cursor was already on the root node). |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
724 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
725 | bool ts_tree_cursor_goto_parent(TSTreeCursor *self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
726 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
727 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
728 | * Move the cursor to the next sibling of its current node. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
729 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
730 | * This returns `true` if the cursor successfully moved, and returns `false` |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
731 | * if there was no next sibling node. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
732 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
733 | bool ts_tree_cursor_goto_next_sibling(TSTreeCursor *self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
734 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
735 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
736 | * Move the cursor to the previous sibling of its current node. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
737 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
738 | * This returns `true` if the cursor successfully moved, and returns `false` if |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
739 | * there was no previous sibling node. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
740 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
741 | * Note, that this function may be slower than |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
742 | * [`ts_tree_cursor_goto_next_sibling`] due to how node positions are stored. In |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
743 | * the worst case, this will need to iterate through all the children upto the |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
744 | * previous sibling node to recalculate its position. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
745 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
746 | bool ts_tree_cursor_goto_previous_sibling(TSTreeCursor *self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
747 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
748 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
749 | * Move the cursor to the first child of its current node. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
750 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
751 | * This returns `true` if the cursor successfully moved, and returns `false` |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
752 | * if there were no children. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
753 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
754 | bool ts_tree_cursor_goto_first_child(TSTreeCursor *self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
755 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
756 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
757 | * Move the cursor to the last child of its current node. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
758 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
759 | * This returns `true` if the cursor successfully moved, and returns `false` if |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
760 | * there were no children. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
761 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
762 | * Note that this function may be slower than [`ts_tree_cursor_goto_first_child`] |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
763 | * because it needs to iterate through all the children to compute the child's |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
764 | * position. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
765 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
766 | bool ts_tree_cursor_goto_last_child(TSTreeCursor *self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
767 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
768 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
769 | * Move the cursor to the node that is the nth descendant of |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
770 | * the original node that the cursor was constructed with, where |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
771 | * zero represents the original node itself. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
772 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
773 | void ts_tree_cursor_goto_descendant(TSTreeCursor *self, uint32_t goal_descendant_index); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
774 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
775 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
776 | * Get the index of the cursor's current node out of all of the |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
777 | * descendants of the original node that the cursor was constructed with. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
778 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
779 | uint32_t ts_tree_cursor_current_descendant_index(const TSTreeCursor *self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
780 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
781 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
782 | * Get the depth of the cursor's current node relative to the original |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
783 | * node that the cursor was constructed with. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
784 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
785 | uint32_t ts_tree_cursor_current_depth(const TSTreeCursor *self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
786 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
787 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
788 | * Move the cursor to the first child of its current node that extends beyond |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
789 | * the given byte offset or point. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
790 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
791 | * This returns the index of the child node if one was found, and returns -1 |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
792 | * if no such child was found. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
793 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
794 | int64_t ts_tree_cursor_goto_first_child_for_byte(TSTreeCursor *self, uint32_t goal_byte); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
795 | int64_t ts_tree_cursor_goto_first_child_for_point(TSTreeCursor *self, TSPoint goal_point); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
796 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
797 | TSTreeCursor ts_tree_cursor_copy(const TSTreeCursor *cursor); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
798 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
799 | /*******************/ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
800 | /* Section - Query */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
801 | /*******************/ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
802 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
803 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
804 | * Create a new query from a string containing one or more S-expression |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
805 | * patterns. The query is associated with a particular language, and can |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
806 | * only be run on syntax nodes parsed with that language. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
807 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
808 | * If all of the given patterns are valid, this returns a [`TSQuery`]. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
809 | * If a pattern is invalid, this returns `NULL`, and provides two pieces |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
810 | * of information about the problem: |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
811 | * 1. The byte offset of the error is written to the `error_offset` parameter. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
812 | * 2. The type of error is written to the `error_type` parameter. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
813 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
814 | TSQuery *ts_query_new( |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
815 | const TSLanguage *language, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
816 | const char *source, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
817 | uint32_t source_len, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
818 | uint32_t *error_offset, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
819 | TSQueryError *error_type |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
820 | ); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
821 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
822 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
823 | * Delete a query, freeing all of the memory that it used. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
824 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
825 | void ts_query_delete(TSQuery *self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
826 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
827 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
828 | * Get the number of patterns, captures, or string literals in the query. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
829 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
830 | uint32_t ts_query_pattern_count(const TSQuery *self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
831 | uint32_t ts_query_capture_count(const TSQuery *self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
832 | uint32_t ts_query_string_count(const TSQuery *self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
833 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
834 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
835 | * Get the byte offset where the given pattern starts in the query's source. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
836 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
837 | * This can be useful when combining queries by concatenating their source |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
838 | * code strings. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
839 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
840 | uint32_t ts_query_start_byte_for_pattern(const TSQuery *self, uint32_t pattern_index); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
841 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
842 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
843 | * Get the byte offset where the given pattern ends in the query's source. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
844 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
845 | * This can be useful when combining queries by concatenating their source |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
846 | * code strings. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
847 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
848 | uint32_t ts_query_end_byte_for_pattern(const TSQuery *self, uint32_t pattern_index); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
849 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
850 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
851 | * Get all of the predicates for the given pattern in the query. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
852 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
853 | * The predicates are represented as a single array of steps. There are three |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
854 | * types of steps in this array, which correspond to the three legal values for |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
855 | * the `type` field: |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
856 | * - `TSQueryPredicateStepTypeCapture` - Steps with this type represent names |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
857 | * of captures. Their `value_id` can be used with the |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
858 | * [`ts_query_capture_name_for_id`] function to obtain the name of the capture. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
859 | * - `TSQueryPredicateStepTypeString` - Steps with this type represent literal |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
860 | * strings. Their `value_id` can be used with the |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
861 | * [`ts_query_string_value_for_id`] function to obtain their string value. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
862 | * - `TSQueryPredicateStepTypeDone` - Steps with this type are *sentinels* |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
863 | * that represent the end of an individual predicate. If a pattern has two |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
864 | * predicates, then there will be two steps with this `type` in the array. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
865 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
866 | const TSQueryPredicateStep *ts_query_predicates_for_pattern( |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
867 | const TSQuery *self, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
868 | uint32_t pattern_index, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
869 | uint32_t *step_count |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
870 | ); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
871 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
872 | /* |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
873 | * Check if the given pattern in the query has a single root node. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
874 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
875 | bool ts_query_is_pattern_rooted(const TSQuery *self, uint32_t pattern_index); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
876 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
877 | /* |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
878 | * Check if the given pattern in the query is 'non local'. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
879 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
880 | * A non-local pattern has multiple root nodes and can match within a |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
881 | * repeating sequence of nodes, as specified by the grammar. Non-local |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
882 | * patterns disable certain optimizations that would otherwise be possible |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
883 | * when executing a query on a specific range of a syntax tree. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
884 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
885 | bool ts_query_is_pattern_non_local(const TSQuery *self, uint32_t pattern_index); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
886 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
887 | /* |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
888 | * Check if a given pattern is guaranteed to match once a given step is reached. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
889 | * The step is specified by its byte offset in the query's source code. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
890 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
891 | bool ts_query_is_pattern_guaranteed_at_step(const TSQuery *self, uint32_t byte_offset); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
892 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
893 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
894 | * Get the name and length of one of the query's captures, or one of the |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
895 | * query's string literals. Each capture and string is associated with a |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
896 | * numeric id based on the order that it appeared in the query's source. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
897 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
898 | const char *ts_query_capture_name_for_id( |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
899 | const TSQuery *self, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
900 | uint32_t index, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
901 | uint32_t *length |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
902 | ); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
903 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
904 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
905 | * Get the quantifier of the query's captures. Each capture is * associated |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
906 | * with a numeric id based on the order that it appeared in the query's source. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
907 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
908 | TSQuantifier ts_query_capture_quantifier_for_id( |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
909 | const TSQuery *self, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
910 | uint32_t pattern_index, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
911 | uint32_t capture_index |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
912 | ); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
913 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
914 | const char *ts_query_string_value_for_id( |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
915 | const TSQuery *self, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
916 | uint32_t index, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
917 | uint32_t *length |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
918 | ); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
919 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
920 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
921 | * Disable a certain capture within a query. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
922 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
923 | * This prevents the capture from being returned in matches, and also avoids |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
924 | * any resource usage associated with recording the capture. Currently, there |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
925 | * is no way to undo this. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
926 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
927 | void ts_query_disable_capture(TSQuery *self, const char *name, uint32_t length); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
928 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
929 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
930 | * Disable a certain pattern within a query. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
931 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
932 | * This prevents the pattern from matching and removes most of the overhead |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
933 | * associated with the pattern. Currently, there is no way to undo this. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
934 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
935 | void ts_query_disable_pattern(TSQuery *self, uint32_t pattern_index); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
936 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
937 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
938 | * Create a new cursor for executing a given query. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
939 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
940 | * The cursor stores the state that is needed to iteratively search |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
941 | * for matches. To use the query cursor, first call [`ts_query_cursor_exec`] |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
942 | * to start running a given query on a given syntax node. Then, there are |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
943 | * two options for consuming the results of the query: |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
944 | * 1. Repeatedly call [`ts_query_cursor_next_match`] to iterate over all of the |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
945 | * *matches* in the order that they were found. Each match contains the |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
946 | * index of the pattern that matched, and an array of captures. Because |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
947 | * multiple patterns can match the same set of nodes, one match may contain |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
948 | * captures that appear *before* some of the captures from a previous match. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
949 | * 2. Repeatedly call [`ts_query_cursor_next_capture`] to iterate over all of the |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
950 | * individual *captures* in the order that they appear. This is useful if |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
951 | * don't care about which pattern matched, and just want a single ordered |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
952 | * sequence of captures. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
953 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
954 | * If you don't care about consuming all of the results, you can stop calling |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
955 | * [`ts_query_cursor_next_match`] or [`ts_query_cursor_next_capture`] at any point. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
956 | * You can then start executing another query on another node by calling |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
957 | * [`ts_query_cursor_exec`] again. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
958 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
959 | TSQueryCursor *ts_query_cursor_new(void); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
960 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
961 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
962 | * Delete a query cursor, freeing all of the memory that it used. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
963 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
964 | void ts_query_cursor_delete(TSQueryCursor *self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
965 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
966 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
967 | * Start running a given query on a given node. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
968 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
969 | void ts_query_cursor_exec(TSQueryCursor *self, const TSQuery *query, TSNode node); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
970 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
971 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
972 | * Manage the maximum number of in-progress matches allowed by this query |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
973 | * cursor. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
974 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
975 | * Query cursors have an optional maximum capacity for storing lists of |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
976 | * in-progress captures. If this capacity is exceeded, then the |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
977 | * earliest-starting match will silently be dropped to make room for further |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
978 | * matches. This maximum capacity is optional — by default, query cursors allow |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
979 | * any number of pending matches, dynamically allocating new space for them as |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
980 | * needed as the query is executed. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
981 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
982 | bool ts_query_cursor_did_exceed_match_limit(const TSQueryCursor *self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
983 | uint32_t ts_query_cursor_match_limit(const TSQueryCursor *self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
984 | void ts_query_cursor_set_match_limit(TSQueryCursor *self, uint32_t limit); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
985 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
986 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
987 | * Set the range of bytes or (row, column) positions in which the query |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
988 | * will be executed. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
989 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
990 | void ts_query_cursor_set_byte_range(TSQueryCursor *self, uint32_t start_byte, uint32_t end_byte); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
991 | void ts_query_cursor_set_point_range(TSQueryCursor *self, TSPoint start_point, TSPoint end_point); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
992 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
993 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
994 | * Advance to the next match of the currently running query. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
995 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
996 | * If there is a match, write it to `*match` and return `true`. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
997 | * Otherwise, return `false`. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
998 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
999 | bool ts_query_cursor_next_match(TSQueryCursor *self, TSQueryMatch *match); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1000 | void ts_query_cursor_remove_match(TSQueryCursor *self, uint32_t match_id); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1001 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1002 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1003 | * Advance to the next capture of the currently running query. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1004 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1005 | * If there is a capture, write its match to `*match` and its index within |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1006 | * the matche's capture list to `*capture_index`. Otherwise, return `false`. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1007 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1008 | bool ts_query_cursor_next_capture( |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1009 | TSQueryCursor *self, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1010 | TSQueryMatch *match, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1011 | uint32_t *capture_index |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1012 | ); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1013 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1014 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1015 | * Set the maximum start depth for a query cursor. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1016 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1017 | * This prevents cursors from exploring children nodes at a certain depth. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1018 | * Note if a pattern includes many children, then they will still be checked. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1019 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1020 | * The zero max start depth value can be used as a special behavior and |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1021 | * it helps to destructure a subtree by staying on a node and using captures |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1022 | * for interested parts. Note that the zero max start depth only limit a search |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1023 | * depth for a pattern's root node but other nodes that are parts of the pattern |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1024 | * may be searched at any depth what defined by the pattern structure. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1025 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1026 | * Set to `UINT32_MAX` to remove the maximum start depth. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1027 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1028 | void ts_query_cursor_set_max_start_depth(TSQueryCursor *self, uint32_t max_start_depth); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1029 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1030 | /**********************/ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1031 | /* Section - Language */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1032 | /**********************/ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1033 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1034 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1035 | * Get another reference to the given language. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1036 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1037 | const TSLanguage *ts_language_copy(const TSLanguage *self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1038 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1039 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1040 | * Free any dynamically-allocated resources for this language, if |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1041 | * this is the last reference. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1042 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1043 | void ts_language_delete(const TSLanguage *self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1044 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1045 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1046 | * Get the number of distinct node types in the language. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1047 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1048 | uint32_t ts_language_symbol_count(const TSLanguage *self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1049 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1050 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1051 | * Get the number of valid states in this language. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1052 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1053 | uint32_t ts_language_state_count(const TSLanguage *self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1054 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1055 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1056 | * Get a node type string for the given numerical id. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1057 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1058 | const char *ts_language_symbol_name(const TSLanguage *self, TSSymbol symbol); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1059 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1060 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1061 | * Get the numerical id for the given node type string. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1062 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1063 | TSSymbol ts_language_symbol_for_name( |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1064 | const TSLanguage *self, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1065 | const char *string, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1066 | uint32_t length, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1067 | bool is_named |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1068 | ); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1069 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1070 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1071 | * Get the number of distinct field names in the language. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1072 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1073 | uint32_t ts_language_field_count(const TSLanguage *self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1074 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1075 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1076 | * Get the field name string for the given numerical id. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1077 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1078 | const char *ts_language_field_name_for_id(const TSLanguage *self, TSFieldId id); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1079 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1080 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1081 | * Get the numerical id for the given field name string. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1082 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1083 | TSFieldId ts_language_field_id_for_name(const TSLanguage *self, const char *name, uint32_t name_length); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1084 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1085 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1086 | * Check whether the given node type id belongs to named nodes, anonymous nodes, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1087 | * or a hidden nodes. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1088 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1089 | * See also [`ts_node_is_named`]. Hidden nodes are never returned from the API. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1090 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1091 | TSSymbolType ts_language_symbol_type(const TSLanguage *self, TSSymbol symbol); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1092 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1093 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1094 | * Get the ABI version number for this language. This version number is used |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1095 | * to ensure that languages were generated by a compatible version of |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1096 | * Tree-sitter. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1097 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1098 | * See also [`ts_parser_set_language`]. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1099 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1100 | uint32_t ts_language_version(const TSLanguage *self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1101 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1102 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1103 | * Get the next parse state. Combine this with lookahead iterators to generate |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1104 | * completion suggestions or valid symbols in error nodes. Use |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1105 | * [`ts_node_grammar_symbol`] for valid symbols. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1106 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1107 | TSStateId ts_language_next_state(const TSLanguage *self, TSStateId state, TSSymbol symbol); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1108 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1109 | /********************************/ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1110 | /* Section - Lookahead Iterator */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1111 | /********************************/ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1112 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1113 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1114 | * Create a new lookahead iterator for the given language and parse state. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1115 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1116 | * This returns `NULL` if state is invalid for the language. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1117 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1118 | * Repeatedly using [`ts_lookahead_iterator_next`] and |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1119 | * [`ts_lookahead_iterator_current_symbol`] will generate valid symbols in the |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1120 | * given parse state. Newly created lookahead iterators will contain the `ERROR` |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1121 | * symbol. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1122 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1123 | * Lookahead iterators can be useful to generate suggestions and improve syntax |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1124 | * error diagnostics. To get symbols valid in an ERROR node, use the lookahead |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1125 | * iterator on its first leaf node state. For `MISSING` nodes, a lookahead |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1126 | * iterator created on the previous non-extra leaf node may be appropriate. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1127 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1128 | TSLookaheadIterator *ts_lookahead_iterator_new(const TSLanguage *self, TSStateId state); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1129 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1130 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1131 | * Delete a lookahead iterator freeing all the memory used. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1132 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1133 | void ts_lookahead_iterator_delete(TSLookaheadIterator *self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1134 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1135 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1136 | * Reset the lookahead iterator to another state. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1137 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1138 | * This returns `true` if the iterator was reset to the given state and `false` |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1139 | * otherwise. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1140 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1141 | bool ts_lookahead_iterator_reset_state(TSLookaheadIterator *self, TSStateId state); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1142 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1143 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1144 | * Reset the lookahead iterator. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1145 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1146 | * This returns `true` if the language was set successfully and `false` |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1147 | * otherwise. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1148 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1149 | bool ts_lookahead_iterator_reset(TSLookaheadIterator *self, const TSLanguage *language, TSStateId state); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1150 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1151 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1152 | * Get the current language of the lookahead iterator. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1153 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1154 | const TSLanguage *ts_lookahead_iterator_language(const TSLookaheadIterator *self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1155 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1156 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1157 | * Advance the lookahead iterator to the next symbol. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1158 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1159 | * This returns `true` if there is a new symbol and `false` otherwise. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1160 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1161 | bool ts_lookahead_iterator_next(TSLookaheadIterator *self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1162 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1163 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1164 | * Get the current symbol of the lookahead iterator; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1165 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1166 | TSSymbol ts_lookahead_iterator_current_symbol(const TSLookaheadIterator *self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1167 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1168 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1169 | * Get the current symbol type of the lookahead iterator as a null terminated |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1170 | * string. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1171 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1172 | const char *ts_lookahead_iterator_current_symbol_name(const TSLookaheadIterator *self); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1173 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1174 | /*************************************/ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1175 | /* Section - WebAssembly Integration */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1176 | /************************************/ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1177 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1178 | typedef struct wasm_engine_t TSWasmEngine; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1179 | typedef struct TSWasmStore TSWasmStore; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1180 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1181 | typedef enum { |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1182 | TSWasmErrorKindNone = 0, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1183 | TSWasmErrorKindParse, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1184 | TSWasmErrorKindCompile, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1185 | TSWasmErrorKindInstantiate, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1186 | TSWasmErrorKindAllocate, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1187 | } TSWasmErrorKind; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1188 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1189 | typedef struct { |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1190 | TSWasmErrorKind kind; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1191 | char *message; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1192 | } TSWasmError; |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1193 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1194 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1195 | * Create a Wasm store. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1196 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1197 | TSWasmStore *ts_wasm_store_new( |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1198 | TSWasmEngine *engine, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1199 | TSWasmError *error |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1200 | ); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1201 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1202 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1203 | * Free the memory associated with the given Wasm store. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1204 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1205 | void ts_wasm_store_delete(TSWasmStore *); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1206 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1207 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1208 | * Create a language from a buffer of Wasm. The resulting language behaves |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1209 | * like any other Tree-sitter language, except that in order to use it with |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1210 | * a parser, that parser must have a Wasm store. Note that the language |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1211 | * can be used with any Wasm store, it doesn't need to be the same store that |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1212 | * was used to originally load it. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1213 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1214 | const TSLanguage *ts_wasm_store_load_language( |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1215 | TSWasmStore *, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1216 | const char *name, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1217 | const char *wasm, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1218 | uint32_t wasm_len, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1219 | TSWasmError *error |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1220 | ); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1221 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1222 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1223 | * Get the number of languages instantiated in the given wasm store. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1224 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1225 | size_t ts_wasm_store_language_count(const TSWasmStore *); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1226 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1227 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1228 | * Check if the language came from a Wasm module. If so, then in order to use |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1229 | * this language with a Parser, that parser must have a Wasm store assigned. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1230 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1231 | bool ts_language_is_wasm(const TSLanguage *); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1232 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1233 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1234 | * Assign the given Wasm store to the parser. A parser must have a Wasm store |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1235 | * in order to use Wasm languages. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1236 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1237 | void ts_parser_set_wasm_store(TSParser *, TSWasmStore *); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1238 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1239 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1240 | * Remove the parser's current Wasm store and return it. This returns NULL if |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1241 | * the parser doesn't have a Wasm store. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1242 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1243 | TSWasmStore *ts_parser_take_wasm_store(TSParser *); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1244 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1245 | /**********************************/ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1246 | /* Section - Global Configuration */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1247 | /**********************************/ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1248 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1249 | /** |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1250 | * Set the allocation functions used by the library. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1251 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1252 | * By default, Tree-sitter uses the standard libc allocation functions, |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1253 | * but aborts the process when an allocation fails. This function lets |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1254 | * you supply alternative allocation functions at runtime. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1255 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1256 | * If you pass `NULL` for any parameter, Tree-sitter will switch back to |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1257 | * its default implementation of that function. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1258 | * |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1259 | * If you call this function after the library has already been used, then |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1260 | * you must ensure that either: |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1261 | * 1. All the existing objects have been freed. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1262 | * 2. The new allocator shares its state with the old one, so it is capable |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1263 | * of freeing memory that was allocated by the old allocator. |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1264 | */ |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1265 | void ts_set_allocator( |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1266 | void *(*new_malloc)(size_t), |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1267 | void *(*new_calloc)(size_t, size_t), |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1268 | void *(*new_realloc)(void *, size_t), |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1269 | void (*new_free)(void *) |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1270 | ); |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1271 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1272 | #ifdef __cplusplus |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1273 | } |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1274 | #endif |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1275 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1276 | #ifndef TREE_SITTER_HIDE_SYMBOLS |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1277 | #if defined(__GNUC__) || defined(__clang__) |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1278 | #pragma GCC visibility pop |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1279 | #endif |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1280 | #endif |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1281 | |
38e9c3be2392
prep for adding zdict wrapper, change default control stack size of inferior-lisp to 8M
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1282 | #endif // TREE_SITTER_API_H_ |