#async #crossterm

rustyline-async

A minimal readline with multiline and async support

16 releases

0.4.2 Feb 2, 2024
0.4.1 Dec 13, 2023
0.4.0 Sep 7, 2023
0.3.2 May 27, 2023
0.2.1 Mar 31, 2022

#120 in Asynchronous

Download history 3259/week @ 2023-11-02 1776/week @ 2023-11-09 1616/week @ 2023-11-16 1360/week @ 2023-11-23 1576/week @ 2023-11-30 1560/week @ 2023-12-07 1210/week @ 2023-12-14 695/week @ 2023-12-21 761/week @ 2023-12-28 1341/week @ 2024-01-04 1550/week @ 2024-01-11 1910/week @ 2024-01-18 2000/week @ 2024-01-25 2207/week @ 2024-02-01 1705/week @ 2024-02-08 1225/week @ 2024-02-15

7,671 downloads per month
Used in 5 crates

Unlicense

28KB
621 lines

RustyLine Async

Docs

A minimal readline with multiline and async support.

Inspired by rustyline, async-readline, & termion-async-input. Built using crossterm.

Features

  • Works on all platforms supported by crossterm.
  • Full Unicode Support (Including Grapheme Clusters)
  • Multiline Editing
  • In-memory History
  • Ctrl-C, Ctrl-D are returned as Ok(Interrupt) and Ok(Eof) ReadlineEvents.
  • Ctrl-U to clear line before cursor
  • Ctrl-left & right to move to next or previous whitespace
  • Home/Ctrl-A and End/Ctrl-E to jump to the start and end of the input (Ctrl-A & Ctrl-E can be toggled off by disabling the "emacs" feature)
  • Ctrl-L clear screen
  • Ctrl-W delete until previous space
  • Extensible design based on crossterm's event-stream feature

Feel free to PR to add more features!

Example:

cargo run --example readline

rustyline-async

License

This software is licensed under The Unlicense license.

Dependencies

~3–9.5MB
~72K SLoC