tree-sitter/lib/src/tree_cursor.h

23 lines
563 B
C
Raw Normal View History

#ifndef TREE_SITTER_TREE_CURSOR_H_
#define TREE_SITTER_TREE_CURSOR_H_
#include "./subtree.h"
typedef struct {
const Subtree *subtree;
Length position;
uint32_t child_index;
uint32_t structural_child_index;
} TreeCursorEntry;
typedef struct {
const TSTree *tree;
Array(TreeCursorEntry) stack;
} TreeCursor;
void ts_tree_cursor_init(TreeCursor *, TSNode);
TSFieldId ts_tree_cursor_current_status(const TSTreeCursor *, bool *, bool *, bool *);
bool ts_tree_cursor_has_supertype(const TSTreeCursor *, TSSymbol);
#endif // TREE_SITTER_TREE_CURSOR_H_