1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
use nu_errors::ShellError; use nu_plugin::Plugin; use nu_protocol::{CallInfo, ReturnValue, Signature, SyntaxShape}; use crate::start::Start; impl Plugin for Start { fn config(&mut self) -> Result<Signature, ShellError> { Ok(Signature::build("start") .desc("Opens each file/directory/URL using the default application") .rest(SyntaxShape::String, "files/urls/directories to open") .named( "application", SyntaxShape::String, "Specifies the application used for opening the files/directories/urls", Some('a'), ) .filter()) } fn begin_filter(&mut self, call_info: CallInfo) -> Result<Vec<ReturnValue>, ShellError> { self.parse(call_info)?; self.exec().map(|_| vec![]) } }