mod builtin;
mod clap_schema;
mod context;
mod global_flags;
mod registry;
mod traits;
pub use builtin::register_builtins;
#[cfg(feature = "subprocess")]
pub use builtin::{resolve_in_path, virtual_cwd_error};
pub use clap_schema::{params_from_clap, schema_from_clap, schema_tree_from_clap};
pub use context::{
external_commands_unavailable_error, ExecContext, ExternalCommandsUnavailable,
GateExpectations, OutputContext, OverwriteExpectation,
};
pub(crate) use context::{cas_overwrite, is_trash_excluded, ExternalCommandOutcome};
pub use global_flags::GlobalFlags;
pub use registry::ToolRegistry;
pub use traits::{ArgBinding, global_flag_value_is_truthy, is_global_output_flag, validate_against_schema, Tool, ToolArgs, ToolCtx, ToolSchema, ParamSchema};
pub const WORD_ASSIGN_BUILTINS: &[&str] = &["export", "alias", "unalias"];
pub fn accepts_word_assign(name: &str) -> bool {
WORD_ASSIGN_BUILTINS.contains(&name)
}