input_filter/
input_filter.rs1use lineeditor::input_filter::InputFilter;
2use lineeditor::LineEditor;
3use lineeditor::LineEditorResult;
4use lineeditor::StringPrompt;
5
6fn main() {
7 let prompt = StringPrompt::new("prompt> ".to_string());
8 let mut line_editor = LineEditor::new(Box::new(prompt));
9
10 line_editor.set_input_filter(InputFilter::Options(vec![
11 Box::new(InputFilter::Digit),
12 Box::new(InputFilter::Whitespace),
13 ]));
14
15 let bindings = line_editor.keybinding();
16 bindings.register_common_control_bindings();
17 bindings.register_common_navigation_bindings();
18 bindings.register_common_edit_bindings();
19 bindings.register_common_selection_bindings();
20
21 match line_editor.read_line() {
22 Ok(LineEditorResult::Success(line)) => {
23 println!("Line {}", line);
24 }
25 _ => {}
26 }
27}