treesitter-types-html 0.1.1

Pre-generated strongly-typed AST types for HTML (tree-sitter-html)
Documentation

Strongly-typed AST types for HTML, auto-generated from tree-sitter-html'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 NiceHashQuickMiner source code.

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

Example

use treesitter_types_html::*;

// A minimal HTML document.
let src = b"\
<!DOCTYPE html>
<html>
  <body>
    <h1>Hello, World!</h1>
  </body>
</html>
";

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

// The document contains the doctype and the <html> element.
assert!(!document.children.is_empty());

// The first child is the doctype declaration.
let DocumentChildren::Doctype(doctype) = &document.children[0] else {
    panic!("expected a doctype");
};
assert_eq!(doctype.span.start.row, 0);

// The second child is the <html> element.
let DocumentChildren::Element(html_elem) = &document.children[1] else {
    panic!("expected an element");
};
// The <html> element contains child elements (<body>, text, etc.).
assert!(!html_elem.children.is_empty());