harn_hostlib/ast/mod.rs
1//! AST host capability.
2//!
3//! Wraps tree-sitter parsing, symbol extraction, and outline generation —
4//! the Swift `Sources/ASTEngine/` surface ported into Rust. Implementation
5//! lands in follow-up issue B2; this scaffold registers the contract so
6//! `burin-code`'s schema-drift tests can lock the public surface today.
7
8use crate::registry::{BuiltinRegistry, HostlibCapability};
9
10/// AST capability handle. Stateless today; will own a tree-sitter language
11/// registry and parser pool once the implementation lands.
12#[derive(Default)]
13pub struct AstCapability;
14
15impl HostlibCapability for AstCapability {
16 fn module_name(&self) -> &'static str {
17 "ast"
18 }
19
20 fn register_builtins(&self, registry: &mut BuiltinRegistry) {
21 registry.register_unimplemented("hostlib_ast_parse_file", "ast", "parse_file");
22 registry.register_unimplemented("hostlib_ast_symbols", "ast", "symbols");
23 registry.register_unimplemented("hostlib_ast_outline", "ast", "outline");
24 }
25}