Skip to main content

harn_hostlib/code_index/
mod.rs

1//! Code index host capability.
2//!
3//! Ports the deterministic trigram/word index that lived in
4//! `Sources/BurinCodeIndex/` on the Swift side. Implementation lands in
5//! issue B3; this scaffold registers the contract so consumers can wire
6//! against the stable surface today.
7
8use crate::registry::{BuiltinRegistry, HostlibCapability};
9
10/// Code-index capability handle. Stateless today; will own the index actor
11/// (or its async handle) once the implementation lands.
12#[derive(Default)]
13pub struct CodeIndexCapability;
14
15impl HostlibCapability for CodeIndexCapability {
16    fn module_name(&self) -> &'static str {
17        "code_index"
18    }
19
20    fn register_builtins(&self, registry: &mut BuiltinRegistry) {
21        registry.register_unimplemented("hostlib_code_index_query", "code_index", "query");
22        registry.register_unimplemented("hostlib_code_index_rebuild", "code_index", "rebuild");
23        registry.register_unimplemented("hostlib_code_index_stats", "code_index", "stats");
24        registry.register_unimplemented(
25            "hostlib_code_index_imports_for",
26            "code_index",
27            "imports_for",
28        );
29        registry.register_unimplemented(
30            "hostlib_code_index_importers_of",
31            "code_index",
32            "importers_of",
33        );
34    }
35}