@aui.io/apollo 0.1.11 → 0.1.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/node_modules/@aui.io/apollo-cli/package.json +3 -3
- package/node_modules/@aui.io/apollo-core/package.json +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/actions/ActionPalette.d.ts +3 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/actions/ActionPalette.js +7 -2
- package/node_modules/@aui.io/apollo-tui/dist/src/actions/ActionPalette.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/activity/ActivityDrawer.d.ts +3 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/activity/ActivityDrawer.js +8 -3
- package/node_modules/@aui.io/apollo-tui/dist/src/activity/ActivityDrawer.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/activity/ActivitySummary.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/activity/operationStore.js +4 -3
- package/node_modules/@aui.io/apollo-tui/dist/src/activity/operationStore.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/author/AuthorHome.d.ts +12 -4
- package/node_modules/@aui.io/apollo-tui/dist/src/author/AuthorHome.js +67 -9
- package/node_modules/@aui.io/apollo-tui/dist/src/author/AuthorHome.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/author/DiffView.d.ts +7 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/author/DiffView.js +35 -8
- package/node_modules/@aui.io/apollo-tui/dist/src/author/DiffView.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/author/SessionPane.d.ts +9 -2
- package/node_modules/@aui.io/apollo-tui/dist/src/author/SessionPane.js +24 -5
- package/node_modules/@aui.io/apollo-tui/dist/src/author/SessionPane.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/author/ValidationView.js +2 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/author/ValidationView.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/author/VersionsView.js +4 -3
- package/node_modules/@aui.io/apollo-tui/dist/src/author/VersionsView.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/author/data.d.ts +9 -0
- package/node_modules/@aui.io/apollo-tui/dist/src/author/data.js +31 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/author/data.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/author/session.d.ts +10 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/author/session.js +19 -6
- package/node_modules/@aui.io/apollo-tui/dist/src/author/session.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/context/ContextSwitcher.d.ts +3 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/context/ContextSwitcher.js +7 -2
- package/node_modules/@aui.io/apollo-tui/dist/src/context/ContextSwitcher.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/index.d.ts +4 -3
- package/node_modules/@aui.io/apollo-tui/dist/src/index.js +4 -3
- package/node_modules/@aui.io/apollo-tui/dist/src/index.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/lib/actions.d.ts +3 -0
- package/node_modules/@aui.io/apollo-tui/dist/src/lib/actions.js +3 -0
- package/node_modules/@aui.io/apollo-tui/dist/src/lib/actions.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/lib/jsonview.d.ts +31 -0
- package/node_modules/@aui.io/apollo-tui/dist/src/lib/jsonview.js +114 -0
- package/node_modules/@aui.io/apollo-tui/dist/src/lib/jsonview.js.map +1 -0
- package/node_modules/@aui.io/apollo-tui/dist/src/lib/sheet.js +10 -7
- package/node_modules/@aui.io/apollo-tui/dist/src/lib/sheet.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/opentui-app.js +200 -90
- package/node_modules/@aui.io/apollo-tui/dist/src/opentui-app.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/shell/Breadcrumb.d.ts +5 -2
- package/node_modules/@aui.io/apollo-tui/dist/src/shell/Breadcrumb.js +10 -4
- package/node_modules/@aui.io/apollo-tui/dist/src/shell/Breadcrumb.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/shell/FooterHints.js +3 -2
- package/node_modules/@aui.io/apollo-tui/dist/src/shell/FooterHints.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/shell/ModeNav.d.ts +2 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/shell/ModeNav.js +29 -3
- package/node_modules/@aui.io/apollo-tui/dist/src/shell/ModeNav.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/talk/Composer.d.ts +3 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/talk/Composer.js +4 -3
- package/node_modules/@aui.io/apollo-tui/dist/src/talk/Composer.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/talk/InspectorPane.d.ts +8 -3
- package/node_modules/@aui.io/apollo-tui/dist/src/talk/InspectorPane.js +7 -5
- package/node_modules/@aui.io/apollo-tui/dist/src/talk/InspectorPane.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/talk/TalkView.d.ts +15 -2
- package/node_modules/@aui.io/apollo-tui/dist/src/talk/TalkView.js +22 -5
- package/node_modules/@aui.io/apollo-tui/dist/src/talk/TalkView.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/talk/ThreadsPane.d.ts +5 -2
- package/node_modules/@aui.io/apollo-tui/dist/src/talk/ThreadsPane.js +10 -4
- package/node_modules/@aui.io/apollo-tui/dist/src/talk/ThreadsPane.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/talk/data.d.ts +14 -3
- package/node_modules/@aui.io/apollo-tui/dist/src/talk/data.js +12 -2
- package/node_modules/@aui.io/apollo-tui/dist/src/talk/data.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/theme/glyphs.d.ts +52 -0
- package/node_modules/@aui.io/apollo-tui/dist/src/theme/glyphs.js +76 -0
- package/node_modules/@aui.io/apollo-tui/dist/src/theme/glyphs.js.map +1 -0
- package/node_modules/@aui.io/apollo-tui/dist/src/theme/syntax.d.ts +20 -0
- package/node_modules/@aui.io/apollo-tui/dist/src/theme/syntax.js +54 -0
- package/node_modules/@aui.io/apollo-tui/dist/src/theme/syntax.js.map +1 -0
- package/node_modules/@aui.io/apollo-tui/dist/src/theme/tokens.d.ts +26 -8
- package/node_modules/@aui.io/apollo-tui/dist/src/theme/tokens.js +46 -8
- package/node_modules/@aui.io/apollo-tui/dist/src/theme/tokens.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/ui/JsonPane.d.ts +12 -0
- package/node_modules/@aui.io/apollo-tui/dist/src/ui/JsonPane.js +22 -0
- package/node_modules/@aui.io/apollo-tui/dist/src/ui/JsonPane.js.map +1 -0
- package/node_modules/@aui.io/apollo-tui/dist/src/ui/PickerPane.d.ts +3 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/ui/PickerPane.js +8 -3
- package/node_modules/@aui.io/apollo-tui/dist/src/ui/PickerPane.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/ui/SheetPane.js +3 -2
- package/node_modules/@aui.io/apollo-tui/dist/src/ui/SheetPane.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/LICENSE +21 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/README.md +269 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/debug/tree-sitter.cjs +4558 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/debug/tree-sitter.cjs.map +7 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/debug/tree-sitter.js +4516 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/debug/tree-sitter.js.map +7 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/debug/tree-sitter.wasm +0 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/debug/tree-sitter.wasm.map +31 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/alloc.c +48 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/alloc.h +41 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/array.h +291 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/atomic.h +68 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/clock.h +146 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/error_costs.h +11 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/get_changed_ranges.c +523 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/get_changed_ranges.h +36 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/host.h +21 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/language.c +293 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/language.h +293 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/length.h +52 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/lexer.c +483 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/lexer.h +54 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/lib.c +12 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/node.c +875 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/parser.c +2297 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/parser.h +286 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/point.h +48 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/query.c +4347 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/reduce_action.h +34 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/reusable_node.h +95 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/stack.c +912 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/stack.h +133 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/subtree.c +1034 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/subtree.h +399 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/tree-sitter.c +987 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/tree-sitter.cjs +2988 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/tree-sitter.wasm +0 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/tree-sitter.wasm.map +1 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/tree.c +170 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/tree.h +31 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/tree_cursor.c +716 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/tree_cursor.h +48 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/ts_assert.h +11 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/unicode.h +75 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/wasm_store.c +1937 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/wasm_store.h +31 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/package.json +98 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/src/bindings.ts +26 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/src/constants.ts +133 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/src/index.ts +31 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/src/language.ts +291 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/src/lookahead_iterator.ts +75 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/src/marshal.ts +176 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/src/node.ts +646 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/src/parser.ts +325 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/src/query.ts +973 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/src/tree.ts +145 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/src/tree_cursor.ts +318 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/tree-sitter.cjs +4031 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/tree-sitter.cjs.map +7 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/tree-sitter.js +3980 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/tree-sitter.js.map +7 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/tree-sitter.wasm +0 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/tree-sitter.wasm.map +30 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/web-tree-sitter.d.ts +1030 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/web-tree-sitter.d.ts.map +56 -0
- package/node_modules/@aui.io/apollo-tui/package.json +6 -3
- package/package.json +7 -5
- package/node_modules/@aui.io/apollo-tui/dist/src/components/glyph.d.ts +0 -19
- package/node_modules/@aui.io/apollo-tui/dist/src/components/glyph.js +0 -41
- package/node_modules/@aui.io/apollo-tui/dist/src/components/glyph.js.map +0 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/lib/attractor.d.ts +0 -82
- package/node_modules/@aui.io/apollo-tui/dist/src/lib/attractor.js +0 -231
- package/node_modules/@aui.io/apollo-tui/dist/src/lib/attractor.js.map +0 -1
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
#include "tree_sitter/api.h"
|
|
2
|
+
#include "./array.h"
|
|
3
|
+
#include "./get_changed_ranges.h"
|
|
4
|
+
#include "./length.h"
|
|
5
|
+
#include "./subtree.h"
|
|
6
|
+
#include "./tree_cursor.h"
|
|
7
|
+
#include "./tree.h"
|
|
8
|
+
|
|
9
|
+
TSTree *ts_tree_new(
|
|
10
|
+
Subtree root, const TSLanguage *language,
|
|
11
|
+
const TSRange *included_ranges, unsigned included_range_count
|
|
12
|
+
) {
|
|
13
|
+
TSTree *result = ts_malloc(sizeof(TSTree));
|
|
14
|
+
result->root = root;
|
|
15
|
+
result->language = ts_language_copy(language);
|
|
16
|
+
result->included_ranges = ts_calloc(included_range_count, sizeof(TSRange));
|
|
17
|
+
memcpy(result->included_ranges, included_ranges, included_range_count * sizeof(TSRange));
|
|
18
|
+
result->included_range_count = included_range_count;
|
|
19
|
+
return result;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
TSTree *ts_tree_copy(const TSTree *self) {
|
|
23
|
+
ts_subtree_retain(self->root);
|
|
24
|
+
return ts_tree_new(self->root, self->language, self->included_ranges, self->included_range_count);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
void ts_tree_delete(TSTree *self) {
|
|
28
|
+
if (!self) return;
|
|
29
|
+
|
|
30
|
+
SubtreePool pool = ts_subtree_pool_new(0);
|
|
31
|
+
ts_subtree_release(&pool, self->root);
|
|
32
|
+
ts_subtree_pool_delete(&pool);
|
|
33
|
+
ts_language_delete(self->language);
|
|
34
|
+
ts_free(self->included_ranges);
|
|
35
|
+
ts_free(self);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
TSNode ts_tree_root_node(const TSTree *self) {
|
|
39
|
+
return ts_node_new(self, &self->root, ts_subtree_padding(self->root), 0);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
TSNode ts_tree_root_node_with_offset(
|
|
43
|
+
const TSTree *self,
|
|
44
|
+
uint32_t offset_bytes,
|
|
45
|
+
TSPoint offset_extent
|
|
46
|
+
) {
|
|
47
|
+
Length offset = {offset_bytes, offset_extent};
|
|
48
|
+
return ts_node_new(self, &self->root, length_add(offset, ts_subtree_padding(self->root)), 0);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
const TSLanguage *ts_tree_language(const TSTree *self) {
|
|
52
|
+
return self->language;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
void ts_tree_edit(TSTree *self, const TSInputEdit *edit) {
|
|
56
|
+
for (unsigned i = 0; i < self->included_range_count; i++) {
|
|
57
|
+
TSRange *range = &self->included_ranges[i];
|
|
58
|
+
if (range->end_byte >= edit->old_end_byte) {
|
|
59
|
+
if (range->end_byte != UINT32_MAX) {
|
|
60
|
+
range->end_byte = edit->new_end_byte + (range->end_byte - edit->old_end_byte);
|
|
61
|
+
range->end_point = point_add(
|
|
62
|
+
edit->new_end_point,
|
|
63
|
+
point_sub(range->end_point, edit->old_end_point)
|
|
64
|
+
);
|
|
65
|
+
if (range->end_byte < edit->new_end_byte) {
|
|
66
|
+
range->end_byte = UINT32_MAX;
|
|
67
|
+
range->end_point = POINT_MAX;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
} else if (range->end_byte > edit->start_byte) {
|
|
71
|
+
range->end_byte = edit->start_byte;
|
|
72
|
+
range->end_point = edit->start_point;
|
|
73
|
+
}
|
|
74
|
+
if (range->start_byte >= edit->old_end_byte) {
|
|
75
|
+
range->start_byte = edit->new_end_byte + (range->start_byte - edit->old_end_byte);
|
|
76
|
+
range->start_point = point_add(
|
|
77
|
+
edit->new_end_point,
|
|
78
|
+
point_sub(range->start_point, edit->old_end_point)
|
|
79
|
+
);
|
|
80
|
+
if (range->start_byte < edit->new_end_byte) {
|
|
81
|
+
range->start_byte = UINT32_MAX;
|
|
82
|
+
range->start_point = POINT_MAX;
|
|
83
|
+
}
|
|
84
|
+
} else if (range->start_byte > edit->start_byte) {
|
|
85
|
+
range->start_byte = edit->start_byte;
|
|
86
|
+
range->start_point = edit->start_point;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
SubtreePool pool = ts_subtree_pool_new(0);
|
|
91
|
+
self->root = ts_subtree_edit(self->root, edit, &pool);
|
|
92
|
+
ts_subtree_pool_delete(&pool);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
TSRange *ts_tree_included_ranges(const TSTree *self, uint32_t *length) {
|
|
96
|
+
*length = self->included_range_count;
|
|
97
|
+
TSRange *ranges = ts_calloc(self->included_range_count, sizeof(TSRange));
|
|
98
|
+
memcpy(ranges, self->included_ranges, self->included_range_count * sizeof(TSRange));
|
|
99
|
+
return ranges;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
TSRange *ts_tree_get_changed_ranges(const TSTree *old_tree, const TSTree *new_tree, uint32_t *length) {
|
|
103
|
+
TreeCursor cursor1 = {NULL, array_new(), 0};
|
|
104
|
+
TreeCursor cursor2 = {NULL, array_new(), 0};
|
|
105
|
+
ts_tree_cursor_init(&cursor1, ts_tree_root_node(old_tree));
|
|
106
|
+
ts_tree_cursor_init(&cursor2, ts_tree_root_node(new_tree));
|
|
107
|
+
|
|
108
|
+
TSRangeArray included_range_differences = array_new();
|
|
109
|
+
ts_range_array_get_changed_ranges(
|
|
110
|
+
old_tree->included_ranges, old_tree->included_range_count,
|
|
111
|
+
new_tree->included_ranges, new_tree->included_range_count,
|
|
112
|
+
&included_range_differences
|
|
113
|
+
);
|
|
114
|
+
|
|
115
|
+
TSRange *result;
|
|
116
|
+
*length = ts_subtree_get_changed_ranges(
|
|
117
|
+
&old_tree->root, &new_tree->root, &cursor1, &cursor2,
|
|
118
|
+
old_tree->language, &included_range_differences, &result
|
|
119
|
+
);
|
|
120
|
+
|
|
121
|
+
array_delete(&included_range_differences);
|
|
122
|
+
array_delete(&cursor1.stack);
|
|
123
|
+
array_delete(&cursor2.stack);
|
|
124
|
+
return result;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
#ifdef _WIN32
|
|
128
|
+
|
|
129
|
+
#include <io.h>
|
|
130
|
+
#include <windows.h>
|
|
131
|
+
|
|
132
|
+
int _ts_dup(HANDLE handle) {
|
|
133
|
+
HANDLE dup_handle;
|
|
134
|
+
if (!DuplicateHandle(
|
|
135
|
+
GetCurrentProcess(), handle,
|
|
136
|
+
GetCurrentProcess(), &dup_handle,
|
|
137
|
+
0, FALSE, DUPLICATE_SAME_ACCESS
|
|
138
|
+
)) return -1;
|
|
139
|
+
|
|
140
|
+
return _open_osfhandle((intptr_t)dup_handle, 0);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
void ts_tree_print_dot_graph(const TSTree *self, int fd) {
|
|
144
|
+
FILE *file = _fdopen(_ts_dup((HANDLE)_get_osfhandle(fd)), "a");
|
|
145
|
+
ts_subtree_print_dot_graph(self->root, self->language, file);
|
|
146
|
+
fclose(file);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
#elif !defined(__wasi__) // WASI doesn't support dup
|
|
150
|
+
|
|
151
|
+
#include <unistd.h>
|
|
152
|
+
|
|
153
|
+
int _ts_dup(int file_descriptor) {
|
|
154
|
+
return dup(file_descriptor);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
void ts_tree_print_dot_graph(const TSTree *self, int file_descriptor) {
|
|
158
|
+
FILE *file = fdopen(_ts_dup(file_descriptor), "a");
|
|
159
|
+
ts_subtree_print_dot_graph(self->root, self->language, file);
|
|
160
|
+
fclose(file);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
#else
|
|
164
|
+
|
|
165
|
+
void ts_tree_print_dot_graph(const TSTree *self, int file_descriptor) {
|
|
166
|
+
(void)self;
|
|
167
|
+
(void)file_descriptor;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
#endif
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
#ifndef TREE_SITTER_TREE_H_
|
|
2
|
+
#define TREE_SITTER_TREE_H_
|
|
3
|
+
|
|
4
|
+
#include "./subtree.h"
|
|
5
|
+
|
|
6
|
+
#ifdef __cplusplus
|
|
7
|
+
extern "C" {
|
|
8
|
+
#endif
|
|
9
|
+
|
|
10
|
+
typedef struct {
|
|
11
|
+
const Subtree *child;
|
|
12
|
+
const Subtree *parent;
|
|
13
|
+
Length position;
|
|
14
|
+
TSSymbol alias_symbol;
|
|
15
|
+
} ParentCacheEntry;
|
|
16
|
+
|
|
17
|
+
struct TSTree {
|
|
18
|
+
Subtree root;
|
|
19
|
+
const TSLanguage *language;
|
|
20
|
+
TSRange *included_ranges;
|
|
21
|
+
unsigned included_range_count;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
TSTree *ts_tree_new(Subtree root, const TSLanguage *language, const TSRange *included_ranges, unsigned included_range_count);
|
|
25
|
+
TSNode ts_node_new(const TSTree *tree, const Subtree *subtree, Length position, TSSymbol alias);
|
|
26
|
+
|
|
27
|
+
#ifdef __cplusplus
|
|
28
|
+
}
|
|
29
|
+
#endif
|
|
30
|
+
|
|
31
|
+
#endif // TREE_SITTER_TREE_H_
|