use nu_protocol::hir::Block; use nu_source::Spanned; use std::fmt::Debug; pub trait ParserScope: Debug { fn get_signature(&self, name: &str) -> Option; fn has_signature(&self, name: &str) -> bool; fn add_definition(&self, block: Block); 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); }