8 个不稳定版本 (3 个重大更改)
使用旧的 Rust 2015
0.4.0 | 2018年4月6日 |
---|---|
0.3.2 | 2018年2月23日 |
0.2.2 | 2018年2月23日 |
0.1.1 | 2018年2月5日 |
#8 in #redo
被 3 个crate使用
14KB
426 代码行
Rundo
Rundo 是一个 Rust 的重做/撤销库,可以自动生成撤销操作。以下是一个使用 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);
}
文档
快速入门 2 分钟学习如何使用 Rundo。
依赖关系
~170KB