#text-input #input #ratatui #plugin

ratatui_input

Simple to use input widget for ratatui

4 releases

0.1.3 May 14, 2024
0.1.2 May 14, 2024
0.1.1 May 14, 2024
0.1.0 May 14, 2024

#300 in GUI

37 downloads per month

MIT license

51KB
1K SLoC

ratatui_input

crate docs CI coverage

ratatui_input is a simple input widget like <input /> in HTML for ratatui.

UNDER CONSTRUCTION This crate is still under heavy construction and not ready or use yet

Features

  • Single line input with baisc operations (insert/delet characters, copy, cut, jumps, ...)
  • Windows style shortcuts (Ctrl-v, Ctrl-v, Ctrl-x, Home, End, ...)
  • Text selection
  • Does not use the terminal cursor and does not need to capture it, because it has its own cursor implemented
  • Crossterm support
  • Backend agnostic
  • Autoscroll

Comming soon

  • Undo/Redo
  • Masking
  • Placeholder

Documentation

Exmaple

Running cargo run --example in this repository can demonstrate usage of ratatui_input TODO: Upload a GIF of the exmaple running

Instalation

Add ratatui_input crate to dependecies in your Cargo.toml

[dependecies]
ratatui = "*"
ratatui_input = "*"

Key mappings

Mappings Description
Move cursor forawrd by one character
Move cursor back by one character
Shift + Select under cursor and move forawrd by one character
Shift + Select under cursor and move back by one character
Ctrl+C Copy selected text or whole input
Ctrl+V Replace selected text or insert at cursor
Ctrl+X Cut selected text or whole input
Home Jump to start
End Jump to end
Shift+Home Select from cursor to start
Shift+End Select from cursor to end
Backspace Delete character before cursor
Delete Delete character under cursor
Insert Toggle insert mode
TODO: Ctrl+A Select everything
TODO: Ctrl+W Select current word

License

[ratatui_input][] is distributed under The MIT License.

Dependencies

~6–12MB
~126K SLoC