* Also run clippy on examples
This PR also fixes existing clippy lints
* Update .github/workflows/ci.yml
---------
Co-authored-by: Stefan Holderbach <sholderbach@users.noreply.github.com>
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.
* 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>
Changes the history API to support different storage backends and more rich information to be used as metadata/filtering criterions.
Includes a SQLite backed history with additional fields and ports the simple `FileBackedHistory` format consistent.
Includes a `HistoryCursor` to abstract the internal interactive browsing.
Updates `History` trait to cover the API to load and store to the storage backend.
Commits
* basic sqlite history
* fix test compilation
* final touches for MVP
* better documentation
* fix for empty history
* partial change to non-generic history
* mostly working
* fix tests and ci
* fixes, format
* move history item to new file
* fix some comments, fix test compile errors
todo: fix tests
* ci features matrix
* fix index creation
* fix file-based tests
* move logic for not saving empty entries to engine
* fix update last command on empty, set up application_id and check version
* add specific error variants
* format
* fix compile errors
* fix fmt
* sqlite with bashisms
* hide with features
* cargo fmt
* improve performance of bashisms selectors
* Style: Remove commented out code
Co-authored-by: Darren Schroeder <343840+fdncred@users.noreply.github.com>
Co-authored-by: Fernando Herrera <fernando.j.herrera@gmail.com>
Co-authored-by: sholderbach <sholderbach@users.noreply.github.com>
* Change the CI to use caching
This tries to replicate the cargo caching techniques developed by @rgwood on the [nushell](https://github.com/nushell/nushell) repo to save time (and energy) on the CI pipeline.
## Further reading:
[Reilly's blog post](https://www.reillywood.com/blog/rust-faster-ci/)
* Simplify to one job per build matrix combination
This should save some setup time.
And as rebuilds and tests of reedline are fast enough we can just be parallel over the feature
configurations.
* Add issue templates
As we often have to consider certain platform/terminal editor specific things as potential sources of bugs, let's nudge people to provide this info
* Delete githubs default form