16 unstable releases (3 breaking)

Uses old Rust 2015

0.4.4 Nov 20, 2017
0.4.2 Sep 17, 2017
0.4.0 Jul 12, 2017
0.1.3 Aug 31, 2016
0.1.2 Jul 27, 2016

#319 in Text editors

Download history 7/week @ 2024-09-11 20/week @ 2024-09-18 35/week @ 2024-09-25 9/week @ 2024-10-02 10/week @ 2024-10-09 13/week @ 2024-10-16 7/week @ 2024-10-23 10/week @ 2024-10-30 15/week @ 2024-11-06 3/week @ 2024-11-13 11/week @ 2024-11-20 5/week @ 2024-11-27 23/week @ 2024-12-04 83/week @ 2024-12-11 31/week @ 2024-12-18 2/week @ 2024-12-25

139 downloads per month
Used in 3 crates

MIT license

200KB
5.5K SLoC

liner

A Rust library offering readline-like functionality.

CONTRIBUTING.md

Build Status Docs

Featues

  • Autosuggestions
  • Emacs and Vi keybindings
  • Multi-line editing
  • History
  • (Incomplete) basic and filename completions
  • Reverse search
  • Remappable keybindings

Basic Usage

In Cargo.toml:

[dependencies]
liner = "0.4.4"
...

In src/main.rs:

extern crate liner;

use liner::Context;

fn main() {
    let mut con = Context::new();

    loop {
        let res = con.read_line("[prompt]$ ", &mut |_| {}).unwrap();

        if res.is_empty() {
            break;
        }

        con.history.push(res.into());
    }
}

See src/main.rs for a more sophisticated example.

License

MIT licensed. See the LICENSE file.

Dependencies

~1.5MB
~24K SLoC