diff options
Diffstat (limited to 'src/tree_sitter/tree_cursor.h')
| -rw-r--r-- | src/tree_sitter/tree_cursor.h | 20 | 
1 files changed, 20 insertions, 0 deletions
| diff --git a/src/tree_sitter/tree_cursor.h b/src/tree_sitter/tree_cursor.h new file mode 100644 index 0000000000..55bdad86da --- /dev/null +++ b/src/tree_sitter/tree_cursor.h @@ -0,0 +1,20 @@ +#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); + +#endif  // TREE_SITTER_TREE_CURSOR_H_ | 
