* Allow multi byte characters as the marker without panicking
* Clean up tests and add one for the remainder
* Remove extra whitespace
* Add missing feature toggle
* Clean up tests
* make multiline prompt color configurable
* remove unnused use statements
* minor comment update
* Clippy fix
new lints from rust 1.67
* Cargo fmt
---------
Co-authored-by: sholderbach <sholderbach@users.noreply.github.com>
* custom validator and prompt
* Split prompt and validator demo into two files
Also add info text when running
Co-authored-by: sholderbach <sholderbach@users.noreply.github.com>
* Fix the additional moves of normal mode `hjkl`
Fixesnushell/nushell#6991
Allows using `l` to complete the history hint in normal mode
Support menu navigation with `hjkl` in vi normal mode
Adjusts tests
* Fix clippy
Parameter only used in recursion
* Split the main example binary into examples
Separate fully featured demo from keybinding listing and event listener
Allows to make `gethostname` dev-dependency
* Clippy fix in examples
Alternative to #503
Using `actions-rust-lang` instead of `actions-rs` for
setup. (nushell uses them for setup with integrated caching)
Remove build stage as this should also be covered by test.
clippy --all to see if this checks the examples as well.
7d721a1 introduced the sqlite-dynlib feature, but using it in places
where sqlite is currently used was not possible, because the cfg gates
weren't adjusted yet. This commit replaces each `feature = "sqlite"`
with `any(feature = "sqlite",feature = "sqlite-dynlib")`, meaning that
it doesn't matter which sqlite feature you use, reedline will expose the
same API.
* On backspace, deactivate menu and do not complete
Fixes#5497
* Make Tab insert (partial) completion instead of select next menu item
* Fix history search filtering
* render right prompt on the last line of the left prompt
Closesnushell/nushell#4909
* make rendering the right prompt on the last line configurable
* calculate width of the line where right prompt will be rendered
* `Submit` is used to return data unconditionally. This is useful for
example if you want compiler to show you where the unclosed paren that
doesn't pass validation actually is.
* `SubmitOrNewline` is similar to `Enter` but inserts a new line if the
cursor is not at the end of the buffer. It's useful to insert newlines
in the middle of the text when editing.
This also removes unconditional `KeyCode::Enter` to
`ReedlineEvent::Enter` event mapping and sets it in the keybindings
normally (so you can rebind to `Submit` or `SubmitOrNewline`)
* Remove flicker on external print
Previously each external print was causing a visible flicker on at least
two terminal emulators I've tested (alacritty, xfce4-terminal).
* Make `Painter.print_external_message()` crate local
* Put external_printer Painter members behind flag
* Add `external_printer` feature to CI
Co-authored-by: Stefan Holderbach <sholderbach@users.noreply.github.com>