rat-text 0.12.1

ratatui text input widgets
Documentation
# Text-widgets for ratatui


Features for all widgets:

* Undo/redo.
  
* Sync another widget.
  
* Support double-width characters.
  
* Range based text styling.
  
* Clipboard trait to link to some clipboard implementation.
  
  > There is no general solution for clipboards but this way you
  > can integrate one of the many crates that try to do this.
  
* Builtin scrolling. Uses rat-scroll.

* Lot's of text manipulation functions. 
  * Line/TextRange/byte indexes supported.
  * Glyph iteration (glyph=grapheme+display information)
  * Grapheme iterator/cursor
  * byte-pos to TextPosition and vice versa.
  * Screen position to text position.
  
  
## TextInput


Single line text input widget. 

## TextArea


Textarea with tendencies to being an editor.

Uses [Rope](https://docs.rs/ropey/) backend for a good editing
experience for longer text. Starts lagging a bit if you have
more than 10,000 style ranges or so (wip). 

* Tab width/Tab expand to space.
* Indent/dedent selection.
* Newline starts at indent.
* Mouse selection can work word-wise. 
* Renders this text in ~400µs
* Quote/Brace/Bracket selection.

There is an extended example `mdedit.rs` for TextArea in 
<https://github.com/thscharler/rat-salsa>


## MaskedInput


Single line text input with a text-mask for allowed input.

* Numeric 
* Decimal/Hexadecimal/Octal digits
* Character/Character+Digits
* Text separators

Nice to have for structured text input. 

The widgets

* DateInput and
* NumberInput 

use this as base.

## DateInput


DateInput with [chrono](https://docs.rs/chrono) format patterns.

## NumberInput


NumberInput with
[format_num_pattern](https://docs.rs/format_num_pattern) backend.
A bit similar to javas DecimalFormat.

## LineNumbers


Line numbers widget that can be combined with TextArea.