nu_protocol::engine

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<BlockId> { ... } 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<BlockId>

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.

Trait Implementations§

Source§

impl Clone for Box<dyn Command>

Source§

fn clone(&self) -> Box<dyn Command>

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Implementors§