23 lines
593 B
Rust
23 lines
593 B
Rust
use tree_sitter::Parser;
|
|
use analysis::collect_procs;
|
|
|
|
fn main() {
|
|
let src = r#"namespace eval foo {
|
|
proc bar {x y} { return $x }
|
|
}
|
|
proc top {} {}
|
|
"#;
|
|
let mut parser = Parser::new();
|
|
parser
|
|
.set_language(&tree_sitter_tcl::LANGUAGE.into())
|
|
.expect("load tcl grammar");
|
|
let tree = parser.parse(src, None).expect("parse");
|
|
println!("tree: {}", tree.root_node().to_sexp());
|
|
let procs = collect_procs(&tree, src);
|
|
println!("found {} procs via collect_procs", procs.len());
|
|
for p in procs {
|
|
println!("- {} {:?}", p.name, p.params);
|
|
}
|
|
}
|
|
|