ratatui_input

Crates.ioratatui_input
lib.rsratatui_input
version0.1.3
sourcesrc
created_at2024-05-14 06:43:02.382825
updated_at2024-05-14 11:08:16.362798
descriptionSimple to use input widget for ratatui
homepagehttps://github.com/VidVrbnjak/ratatui_input
repositoryhttps://github.com/VidVrbnjak/ratatui_input
max_upload_size
id1239179
size73,354
Vid Vrbnjak (VidVrbnjak)

documentation

README

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.

Commit count: 34

cargo fmt