Struct ShellConfig

Source
pub struct ShellConfig {
    pub hooks: Hooks,
    pub builtins: Builtins,
    pub readline: Box<dyn Readline>,
    pub alias: Alias,
    pub env: Env,
    pub theme: Theme,
    pub lang: Box<dyn Lang>,
    pub plugins: Vec<Box<dyn Plugin>>,
    pub states: States,
    pub history: Box<dyn History>,
    pub config_dir: PathBuf,
    pub keybinding: Keybindings,
    /* private fields */
}
Expand description

Unified shell config struct

Fields§

§hooks: Hooks

Runtime hooks, see crate::hooks

§builtins: Builtins

Builtin shell commands, see crate::builtin

§readline: Box<dyn Readline>

Readline implementation

§alias: Alias

Aliases, see crate::alias

§env: Env

Environment variables, see crate::env

§theme: Theme

Color theme, see crate::theme

§lang: Box<dyn Lang>

Command language

§plugins: Vec<Box<dyn Plugin>>

Plugins, see crate::plugin

§states: States

Globally accessible state, see crate::state

§history: Box<dyn History>

History, see crate::history

§config_dir: PathBuf

Configuration directory, easy access in the shell

§keybinding: Keybindings

Keybindings, see crate::keybinding

Implementations§

Source§

impl ShellConfig

Source

pub fn run(self) -> Result<(), Error>

Start up the shell

This function contains the main loop of the shell and thus will block for the entire execution of the shell.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> AsAny for T
where T: Any,

Source§

fn as_any(&self) -> &(dyn Any + 'static)

Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.