use nu_protocol::hir::Block; use nu_source::Spanned; use std::{fmt::Debug, sync::Arc}; pub trait ParserScope: Debug { fn get_signature(&self, name: &str) -> Option; fn has_signature(&self, name: &str) -> bool; fn add_definition(&self, block: Arc); fn get_definitions(&self) -> Vec>; fn get_alias(&self, name: &str) -> Option>>; fn add_alias(&self, name: &str, replacement: Vec>); fn enter_scope(&self); fn exit_scope(&self); }