#![deny(rust_2018_idioms)]
#![warn(missing_docs)]
#[cfg(feature = "ast")]
pub mod ast;
#[cfg(feature = "ast")]
pub mod code_index;
pub mod error;
pub mod fs;
pub mod fs_snapshot;
pub mod fs_watch;
pub mod process;
pub mod sandbox;
pub mod scanner;
pub mod schemas;
pub mod secret_store;
pub mod tools;
mod registry;
pub use error::HostlibError;
pub use registry::{BuiltinRegistry, HostlibCapability, HostlibRegistry, RegisteredBuiltin};
pub fn install_default(vm: &mut harn_vm::Vm) -> HostlibRegistry {
let mut registry = HostlibRegistry::new();
#[cfg(feature = "ast")]
{
let code_index = code_index::CodeIndexCapability::new();
registry = registry
.with(ast::AstCapabilityWithCodeIndex::new(code_index.shared()))
.with(code_index);
}
registry = registry
.with(scanner::ScannerCapability)
.with(fs::FsCapability)
.with(fs_snapshot::FsSnapshotCapability)
.with(fs_watch::FsWatchCapability)
.with(tools::ToolsCapability)
.with(secret_store::SecretStoreCapability);
registry.register_into_vm(vm);
registry
}