Struct liner::Context

source ·
pub struct Context {
    pub history: History,
    pub word_divider_fn: Box<dyn Fn(&Buffer) -> Vec<(usize, usize)>>,
    pub key_bindings: KeyBindings,
    pub buf: String,
}

Fields§

§history: History§word_divider_fn: Box<dyn Fn(&Buffer) -> Vec<(usize, usize)>>§key_bindings: KeyBindings§buf: String

Implementations§

source§

impl Context

source

pub fn new() -> Self

source

pub fn read_line<C: Completer>( &mut self, prompt: Prompt, f: Option<ColorClosure>, handler: &mut C ) -> Result<String>

Creates an Editor and feeds it keypresses from stdin until the line is entered. The output is stdout. The returned line has the newline removed. Before returning, will revert all changes to the history buffers.

source

pub fn read_line_with_init_buffer<B: Into<Buffer>, C: Completer>( &mut self, prompt: Prompt, handler: &mut C, f: Option<ColorClosure>, buffer: B ) -> Result<String>

Same as Context.read_line(), but passes the provided initial buffer to the editor.

use liner::{Context, Completer, Prompt};

struct EmptyCompleter;

impl Completer for EmptyCompleter {
    fn completions(&mut self, _start: &str) -> Vec<String> {
        Vec::new()
    }
}

let mut context = Context::new();
let line =
    context.read_line_with_init_buffer(Prompt::from("[prompt]$ "),
                                       &mut EmptyCompleter,
                                       Some(Box::new(|s| String::from(s))),
                                       "some initial buffer");
source

pub fn revert_all_history(&mut self)

Trait Implementations§

source§

impl Default for Context

source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl !RefUnwindSafe for Context

§

impl !Send for Context

§

impl !Sync for Context

§

impl Unpin for Context

§

impl !UnwindSafe for Context

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