treesitter-types-ruby 0.1.1

Pre-generated strongly-typed AST types for Ruby (tree-sitter-ruby)
Documentation

Strongly-typed AST types for Ruby, auto-generated from tree-sitter-ruby's node-types.json.

This crate is generated by treesitter-types and is automatically kept up to date when a new version of the grammar crate is released.

These types have been tested by parsing the Rails source code.

See the Tree-sitter project for more information about the underlying parser framework.

Example

use treesitter_types_ruby::*;

// A minimal Ruby hello-world program.
let src = b"\
def greet(name)
  puts \"Hello, #{name}!\"
end

greet(\"World\")
";

// Parse the source with tree-sitter and convert into typed AST.
let mut parser = tree_sitter::Parser::new();
parser.set_language(&tree_sitter_ruby::LANGUAGE.into()).unwrap();
let tree = parser.parse(src, None).unwrap();
let program = Program::from_node(tree.root_node(), src).unwrap();

// The program has two top-level children:
// a method definition and a method call.
assert_eq!(program.children.len(), 2);

// Both statements start at column 0.
assert_eq!(program.span.start.row, 0);
assert_eq!(program.span.start.column, 0);
assert!(program.span.end.row >= 4);