pub trait Shell: Debug {
Show 14 methods
fn is_interactive(&self) -> bool;
fn name(&self) -> String;
fn homedir(&self) -> Option<PathBuf>;
fn ls(
&self,
args: LsArgs,
name: Tag,
ctrl_c: Arc<AtomicBool>
) -> Result<ActionStream, ShellError>;
fn cd(&self, args: CdArgs, name: Tag) -> Result<ActionStream, ShellError>;
fn cp(
&self,
args: CopyArgs,
name: Tag,
path: &str
) -> Result<ActionStream, ShellError>;
fn mkdir(
&self,
args: MkdirArgs,
name: Tag,
path: &str
) -> Result<OutputStream, ShellError>;
fn mv(
&self,
args: MvArgs,
name: Tag,
path: &str
) -> Result<ActionStream, ShellError>;
fn rm(
&self,
args: RemoveArgs,
name: Tag,
path: &str
) -> Result<ActionStream, ShellError>;
fn path(&self) -> String;
fn pwd(&self, args: CommandArgs) -> Result<ActionStream, ShellError>;
fn set_path(&mut self, path: String);
fn open(
&self,
path: &Path,
name: Span,
with_encoding: Option<&'static Encoding>
) -> Result<Box<dyn Iterator<Item = Result<StringOrBinary, ShellError>> + Send + Sync>, ShellError>;
fn save(
&mut self,
path: &Path,
contents: &[u8],
name: Span
) -> Result<OutputStream, ShellError>;
}