github.com/gotranspile/cxgo@v0.3.7/examples/tree-sitter/cxgo.yml (about) 1 vcs: https://github.com/tree-sitter/tree-sitter.git 2 branch: '0.18.0' 3 root: ./lib 4 out: ../../.examples/tree-sitter-go 5 package: gositter 6 int_size: 8 7 ptr_size: 8 8 use_go_int: true 9 define: 10 - name: ts_malloc_default 11 value: malloc 12 - name: ts_malloc 13 value: malloc 14 - name: ts_calloc_default 15 value: calloc 16 - name: ts_calloc 17 value: calloc 18 - name: ts_realloc_default 19 value: realloc 20 - name: ts_realloc 21 value: realloc 22 - name: ts_free_default 23 value: free 24 - name: ts_free 25 value: free 26 - name: TREE_SITTER_ARRAY_H_ # we replace it with our own array operations 27 idents: 28 - name: TSLanguage 29 fields: 30 - name: symbol_names 31 type: slice 32 - name: symbol_metadata 33 type: slice 34 - name: parse_table 35 type: slice 36 - name: parse_actions 37 type: slice 38 - name: lex_modes 39 type: slice 40 - name: alias_sequences 41 type: slice 42 - name: external_scanner 43 fields: 44 - name: states 45 type: slice 46 - name: symbol_map 47 type: slice 48 - name: field_map_slices 49 type: slice 50 - name: field_map_entries 51 type: slice 52 - name: field_names 53 type: slice 54 - name: small_parse_table 55 type: slice 56 - name: small_parse_table_map 57 type: slice 58 - name: public_symbol_map 59 type: slice 60 - name: alias_map 61 type: slice 62 - name: TSTree 63 fields: 64 - name: included_ranges 65 type: slice 66 - name: ts_tree_new 67 fields: 68 - name: root 69 - name: language 70 - name: included_ranges 71 type: slice 72 - name: included_range_count 73 - name: ts_range_array_get_changed_ranges 74 fields: 75 - name: old_ranges 76 type: slice 77 - name: old_range_count 78 - name: new_ranges 79 type: slice 80 - name: new_range_count 81 - name: differences 82 - name: TSRangeArray 83 fields: 84 - name: contents 85 type: slice 86 - name: SubtreeArray 87 fields: 88 - name: contents 89 type: slice 90 - name: MutableSubtreeArray 91 fields: 92 - name: contents 93 type: slice 94 - name: TreeCursor 95 fields: 96 - name: stack 97 fields: 98 - name: contents 99 type: slice 100 - name: CursorChildIterator 101 fields: 102 - name: alias_sequence 103 type: slice 104 - name: TableEntry 105 fields: 106 - name: actions 107 type: slice 108 - name: LookaheadIterator 109 fields: 110 - name: data 111 type: slice 112 - name: actions 113 type: slice 114 replace: 115 - old: 'len_(' 116 new: 'len(' 117 predef: | 118 #include <string.h> 119 #include <stdlib.h> 120 #include <stdint.h> 121 #include <assert.h> 122 #include <stdbool.h> 123 #define Array(T) struct { T *contents; int size; int capacity; } 124 void array_init(void* a); 125 #define array_new() {0} 126 #define array_get(a, i) (&(a)->contents[i]) 127 int len(void* a); 128 void array_clear(void* a); 129 void array_reserve(void* a, int n); 130 void array_delete(void* a); 131 void array_push(void* a, void* el); 132 void array_grow_by(void* a, int n); 133 void array_push_all(void* a, void* b); 134 void array_extend(void* a, int n, void* b); 135 void array_splice(void* a, int i, int oldN, int newN, void* b); 136 void array_insert(void* a, int i, void* b); 137 void array_erase(void* a, int i); 138 #define array_pop(a) ((a)->contents[--(a)->size]) 139 void array_assign(void* a, void* b); 140 void array_swap(void* a, void* b); 141 void array__search_sorted_go(void* s, int s, void* cmp, void* f, void* b, int* i, bool* exists); 142 #define array_front(self) (&(self)->contents[0]) 143 #define array_back(self) (&(self)->contents[len(self) - 1]) 144 int _compare_int(int* a, int b) { return ((int)*(a) - (int)(b)); } 145 void array_insert_sorted_with(void* a, void* cmp, void* val); 146 #define array__search_sorted(self, start, compare, suffix, needle, index, exists) \ 147 array__search_sorted_go(self, start, compare, &((self)->contents[0] suffix), needle, index, exists) 148 #define array_search_sorted_by(self, field, needle, index, exists) \ 149 array__search_sorted(self, 0, _compare_int, field, needle, index, exists) 150 #define array_insert_sorted_by(self, field, value) \ 151 do { \ 152 unsigned index, exists; \ 153 array_search_sorted_by(self, field, (value) field, &index, &exists); \ 154 if (!exists) array_insert(self, index, value); \ 155 } while (0) 156 #define array_search_sorted_with(self, compare, needle, index, exists) \ 157 array__search_sorted(self, 0, compare, , needle, index, exists) 158 files: 159 - name: ./src/language.c 160 - name: ./src/lexer.c 161 - name: ./src/node.c 162 - name: ./src/parser.c 163 - name: ./src/query.c 164 - name: ./src/stack.c 165 - name: ./src/subtree.c 166 - name: ./src/tree_cursor.c 167 - name: ./src/tree.c 168 - name: ./src/get_changed_ranges.c 169 - name: ./src/length.h 170 - name: ./src/point.h 171 - name: ./include/tree_sitter/api.h 172 skip: 173 - TSParser 174 - TSTree 175 - TSQuery 176 - TSQueryCursor 177 - TSLanguage 178 - TSSymbol 179 - TSFieldId 180 - name: ./include/tree_sitter/parser.h