use std::sync::Arc;
pub mod declaration;
pub mod position;
pub mod proof_action;
pub mod proof_search;
pub(crate) mod source_input;
use crate::broker::ProjectBroker;
#[derive(Debug, Clone)]
pub struct ToolContext {
pub broker: Arc<ProjectBroker>,
}
pub(crate) fn session_imports(imports: Vec<String>) -> Vec<String> {
if imports.iter().any(|import| import == "Init") {
imports
} else {
let mut out = Vec::with_capacity(imports.len().saturating_add(1));
out.push("Init".to_owned());
out.extend(imports);
out
}
}
pub(crate) fn is_ignored_dir(name: &str) -> bool {
matches!(name, ".lake" | ".git" | "target" | "build" | "node_modules" | ".direnv")
}