Crates.io | rundo |
lib.rs | rundo |
version | 0.4.0 |
source | src |
created_at | 2018-02-05 02:41:30.199047 |
updated_at | 2018-04-06 04:45:37.766805 |
description | Rundo is a redo / undo library for rust which can auto generate undo op. Below is an example to use Rundo. |
homepage | https://github.com/M-Adoo/rundo |
repository | https://github.com/M-Adoo/rundo |
max_upload_size | |
id | 49657 |
size | 46,520,174 |
Rundo is a redo / undo library for rust which can auto generate undo op. Below is an example to use Rundo.
#![feature(proc_macro)]
#![feature(decl_macro)]
extern crate rundo;
use rundo::prelude::*;
#[rundo]
struct Point {
x: f32,
y: f32,
}
fn main(){
let mut space = Workspace::new(Point! {x: 2.0, y: 2.0,});
*space.get_mut().x = 3.0;
// x was changed to 3.0
assert_eq!(*space.data.x, 3.0);
// x will undo to 2.0
space.undo();
assert_eq!(*space.data.x, 2.0);
// x will redo to 3.0
space.redo();
assert_eq!(*space.data.x, 3.0);
}
Quick Start 2 min learn how to use Rundo.