nu_engine::command_prelude

Trait Command

Source
pub trait Command:
    Send
    + Sync
    + CommandClone {
Show 22 methods // Required methods fn name(&self) -> &str; fn signature(&self) -> Signature; fn description(&self) -> &str; fn run( &self, engine_state: &EngineState, stack: &mut Stack, call: &Call<'_>, input: PipelineData, ) -> Result<PipelineData, ShellError>; // Provided methods fn extra_description(&self) -> &str { ... } fn run_const( &self, working_set: &StateWorkingSet<'_>, call: &Call<'_>, input: PipelineData, ) -> Result<PipelineData, ShellError> { ... } fn examples(&self) -> Vec<Example<'_>> { ... } fn search_terms(&self) -> Vec<&str> { ... } fn is_const(&self) -> bool { ... } fn is_sub(&self) -> bool { ... } fn block_id(&self) -> Option<Id<Block>> { ... } fn as_alias(&self) -> Option<&Alias> { ... } fn plugin_identity(&self) -> Option<&PluginIdentity> { ... } fn command_type(&self) -> CommandType { ... } fn is_builtin(&self) -> bool { ... } fn is_custom(&self) -> bool { ... } fn is_keyword(&self) -> bool { ... } fn is_known_external(&self) -> bool { ... } fn is_alias(&self) -> bool { ... } fn is_plugin(&self) -> bool { ... } fn pipe_redirection(&self) -> (Option<OutDest>, Option<OutDest>) { ... } fn requires_ast_for_arguments(&self) -> bool { ... }
}

Required Methods§

Source

fn name(&self) -> &str

Source

fn signature(&self) -> Signature

Source

fn description(&self) -> &str

Short preferably single sentence description for the command.

Will be shown with the completions etc.

Source

fn run( &self, engine_state: &EngineState, stack: &mut Stack, call: &Call<'_>, input: PipelineData, ) -> Result<PipelineData, ShellError>

Provided Methods§

Source

fn extra_description(&self) -> &str

Longer documentation description, if necessary.

Will be shown below description

Source

fn run_const( &self, working_set: &StateWorkingSet<'_>, call: &Call<'_>, input: PipelineData, ) -> Result<PipelineData, ShellError>

Used by the parser to run command at parse time

If a command has is_const() set to true, it must also implement this method.

Source

fn examples(&self) -> Vec<Example<'_>>

Source

fn search_terms(&self) -> Vec<&str>

Source

fn is_const(&self) -> bool

Source

fn is_sub(&self) -> bool

Source

fn block_id(&self) -> Option<Id<Block>>

Source

fn as_alias(&self) -> Option<&Alias>

Source

fn plugin_identity(&self) -> Option<&PluginIdentity>

The identity of the plugin, if this is a plugin command

Source

fn command_type(&self) -> CommandType

Source

fn is_builtin(&self) -> bool

Source

fn is_custom(&self) -> bool

Source

fn is_keyword(&self) -> bool

Source

fn is_known_external(&self) -> bool

Source

fn is_alias(&self) -> bool

Source

fn is_plugin(&self) -> bool

Source

fn pipe_redirection(&self) -> (Option<OutDest>, Option<OutDest>)

Source

fn requires_ast_for_arguments(&self) -> bool

Return true if the AST nodes for the arguments are required for IR evaluation. This is currently inefficient so is not generally done.

Implementors§