Struct liner::Context
[−]
[src]
pub struct Context { pub history: History, pub completer: Option<Box<Completer>>, pub word_divider_fn: Box<Fn(&Buffer) -> Vec<(usize, usize)>>, pub key_bindings: KeyBindings, }
Fields
history: History
completer: Option<Box<Completer>>
word_divider_fn: Box<Fn(&Buffer) -> Vec<(usize, usize)>>
key_bindings: KeyBindings
Methods
impl Context
[src]
fn new() -> Self
[src]
fn read_line<P: Into<String>>(
&mut self,
prompt: P,
handler: &mut EventHandler<RawTerminal<Stdout>>
) -> Result<String>
[src]
&mut self,
prompt: P,
handler: &mut EventHandler<RawTerminal<Stdout>>
) -> 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.
fn read_line_with_init_buffer<P: Into<String>, B: Into<Buffer>>(
&mut self,
prompt: P,
handler: &mut EventHandler<RawTerminal<Stdout>>,
buffer: B
) -> Result<String>
[src]
&mut self,
prompt: P,
handler: &mut EventHandler<RawTerminal<Stdout>>,
buffer: B
) -> Result<String>
Same as Context.read_line()
, but passes the provided initial buffer to the editor.
use liner::Context; let mut context = Context::new(); let line = context.read_line_with_init_buffer("[prompt]$ ", &mut |_| {}, "some initial buffer");