Provides undo-redo functionality with static dispatch and manual command merging.
Contents
- Record provides stack based undo-redo functionality.
- History provides tree based undo-redo functionality that allows you to jump between different branches.
- Queue wraps a Record or History and extends them with queue functionality.
- Checkpoint wraps a Record or History and extends them with checkpoint functionality.
- Commands can be merged using the merge method. When two commands are merged, undoing and redoing them are done in a single step.
- Configurable display formatting is provided through the Display structure.
- Time stamps and time travel is provided when the
chrono
feature is enabled. - Serialization and deserialization is provided when the
serde
feature is enabled.
Examples
Add this to Cargo.toml
:
[]
= "0.31"
And this to main.rs
:
use ;
;
License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.