Crate tree_sitter_wgsl_bevy

Crate tree_sitter_wgsl_bevy 

Source
Expand description

This crate provides Bevy language support for the tree-sitter parsing library.

Typically, you will use the LANGUAGE constant to add this language to a tree-sitter Parser, and then use the parser to parse some code:

let code = r#"
#import bevy_pbr::forward_io::VertexOutput

struct CustomMaterial {
    color: vec4<f32>,
};

@group(2) @binding(0) var<uniform> material: CustomMaterial;

@fragment
fn fragment(
    mesh: VertexOutput,
) -> @location(0) vec4<f32> {
#ifdef IS_RED
    return vec4<f32>(1.0, 0.0, 0.0, 1.0);
#else
    return material.color;
#endif
}
"#;
let mut parser = tree_sitter::Parser::new();
let language = tree_sitter_wgsl_bevy::LANGUAGE;
parser
    .set_language(&language.into())
    .expect("Error loading Bevy parser");
let tree = parser.parse(code, None).unwrap();
assert!(!tree.root_node().has_error());

Constantsยง

LANGUAGE
The tree-sitter LanguageFn for this grammar.
NODE_TYPES
The content of the node-types.json file for this grammar.