Class: TreeSitter::TreeCursor

Inherits:
Object
  • Object
show all
Defined in:
ext/tree_sitter/tree_cursor.c

Instance Method Summary collapse

Constructor Details

#initializeObject

Class methods

Instance Method Details

#copyObject



67
68
69
70
71
72
# File 'ext/tree_sitter/tree_cursor.c', line 67

static VALUE tree_cursor_copy(VALUE self) {
  VALUE res = tree_cursor_allocate(cTreeCursor);
  tree_cursor_t *ptr = unwrap(res);
  ptr->data = ts_tree_cursor_copy(&SELF);
  return res;
}

#current_field_idObject



41
42
43
# File 'ext/tree_sitter/tree_cursor.c', line 41

static VALUE tree_cursor_current_field_id(VALUE self) {
  return UINT2NUM(ts_tree_cursor_current_field_id(&SELF));
}

#current_field_nameObject



37
38
39
# File 'ext/tree_sitter/tree_cursor.c', line 37

static VALUE tree_cursor_current_field_name(VALUE self) {
  return safe_str(ts_tree_cursor_current_field_name(&SELF));
}

#current_nodeObject



32
33
34
35
# File 'ext/tree_sitter/tree_cursor.c', line 32

static VALUE tree_cursor_current_node(VALUE self) {
  TSNode node = ts_tree_cursor_current_node(&SELF);
  return new_node(&node);
}

#goto_first_childObject



53
54
55
# File 'ext/tree_sitter/tree_cursor.c', line 53

static VALUE tree_cursor_goto_first_child(VALUE self) {
  return ts_tree_cursor_goto_first_child(&SELF) ? Qtrue : Qfalse;
}

#goto_first_child_for_byte(byte) ⇒ Object



57
58
59
60
# File 'ext/tree_sitter/tree_cursor.c', line 57

static VALUE tree_cursor_goto_first_child_for_byte(VALUE self, VALUE byte) {
  return LL2NUM(
      ts_tree_cursor_goto_first_child_for_byte(&SELF, NUM2UINT(byte)));
}

#goto_first_child_for_point(point) ⇒ Object



62
63
64
65
# File 'ext/tree_sitter/tree_cursor.c', line 62

static VALUE tree_cursor_goto_first_child_for_point(VALUE self, VALUE point) {
  return LL2NUM(
      ts_tree_cursor_goto_first_child_for_point(&SELF, value_to_point(point)));
}

#goto_next_siblingObject



49
50
51
# File 'ext/tree_sitter/tree_cursor.c', line 49

static VALUE tree_cursor_goto_next_sibling(VALUE self) {
  return ts_tree_cursor_goto_next_sibling(&SELF) ? Qtrue : Qfalse;
}

#goto_parentObject



45
46
47
# File 'ext/tree_sitter/tree_cursor.c', line 45

static VALUE tree_cursor_goto_parent(VALUE self) {
  return ts_tree_cursor_goto_parent(&SELF) ? Qtrue : Qfalse;
}

#reset(node) ⇒ Object



27
28
29
30
# File 'ext/tree_sitter/tree_cursor.c', line 27

static VALUE tree_cursor_reset(VALUE self, VALUE node) {
  ts_tree_cursor_reset(&SELF, value_to_node(node));
  return Qnil;
}