Crate arborium_groovy

Crate arborium_groovy 

Source
Expand description

THIS FILE IS GENERATED FROM xtask/templates/lib.stpl.rs; DO NOT EDIT MANUALLY

§arborium-groovy

Part of Arborium crates.io docs.rs license

Groovy grammar for tree-sitter.

Apache Groovy is a dynamic language for the JVM with syntax inspired by Java, featuring optional typing, closures, and powerful DSL capabilities that make it ideal for scripting and build tools like Gradle.

InventorJames Strachan
Year2003

§Usage

use arborium_groovy::language;
use tree_sitter_patched_arborium::Parser;

let mut parser = Parser::new();
parser.set_language(&language()).expect("Error loading groovy grammar");

let source_code = "/* your groovy code here */";
let tree = parser.parse(source_code, None).unwrap();
println!("{}", tree.root_node().to_sexp());

For most use cases, prefer the main arborium crate:

[dependencies]
arborium = { version = "*", features = ["groovy"] }

Or use this crate directly:

[dependencies]
arborium-groovy = "*"

§About Arborium

This crate is part of Arborium, a collection of tree-sitter grammars packaged as Rust crates, maintained by Amos Wenger.

This crate packages a parser.c file generated by the tree-sitter CLI. It exports a language() function returning the tree-sitter Language for groovy.

Why separate crates? Tree-sitter parsers can be large (some exceed 1MB of generated C). Splitting languages into separate crates means you only compile what you need, and parallel/incremental builds are more effective.

§Build Requirements

  • Rust: MSRV is 1.85.0 (Rust 2024 edition)
  • C compiler: This crate compiles C code via the cc crate

§Supported Targets

  • All major platforms: Linux, macOS, Windows
  • WebAssembly: wasm32-unknown-unknown (with custom sysroot)

§Upstream Grammar

Repositorymurtaza64/tree-sitter-groovy
Commit86911590a8e46d71301c66468e5620d9faa5b6af
LicenseMIT

To regenerate after upstream updates:

cargo xtask gen --name groovy

Found a grammar bug? Please report it to the upstream repository.

§Safety

This crate uses unsafe for FFI bindings to the tree-sitter C library. The unsafe surface is minimal and limited to what tree-sitter requires. The generated parser code is produced by tree-sitter’s own code generator.

§Versioning

Crate versions track Arborium releases, not upstream grammar versions. The upstream commit is recorded above. A major version bump occurs when grammar changes affect node names or structure (breaking for query consumers).

§License

  • Generated parser code (parser.c): MIT (from upstream grammar)
  • Arborium glue code: MIT OR Apache-2.0

§Contributing

Constants§

HIGHLIGHTS_QUERY
The highlights query for groovy.
INJECTIONS_QUERY
The injections query for groovy.
LOCALS_QUERY
The locals query for groovy (empty - no locals available).

Functions§

language
Returns the groovy tree-sitter LanguageFn.