Struct shrs::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 state: State,
    pub history: Box<dyn History<HistoryItem = String>>,
    pub keybinding: Box<dyn Keybinding>,
}
Expand description

Unified shell config struct

Fields§

§hooks: Hooks

Runtime hooks, see Hooks

§builtins: Builtins

Builtin shell commands, see Builtins

§readline: Box<dyn Readline>

Readline implementation

§alias: Alias

Aliases, see Alias

§env: Env

Environment variables, see Env

§theme: Theme

Color theme

§lang: Box<dyn Lang>

Command language

§plugins: Vec<Box<dyn Plugin>>

Plugins, see [Plugins]

§state: State

Globally accessible state, see State

§history: Box<dyn History<HistoryItem = String>>

History, see History

§keybinding: Box<dyn Keybinding>

Keybindings, see Keybinding

Implementations§

source§

impl ShellConfig

source

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

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
§

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

§

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

§

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.

§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

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

Initializes a with the given initializer. Read more
§

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

Dereferences the given pointer. Read more
§

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

Mutably dereferences the given pointer. Read more
§

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>,

§

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>,

§

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.