1extern crate history_tree;
6
7use history_tree::HistoryTree;
8
9fn main() {
10 let mut ht = HistoryTree::new();
11 let root = ht.root();
12 let _assets = ht.add(root);
13 let notes = ht.add(root);
14 let mut bar = ht.add(notes);
15 let _baz = ht.add(bar);
16 ht.print(root, 0);
17
18 ht.change(&mut bar);
19 ht.print(root, 0);
20
21 let src = ht.add(root);
22 let _file = ht.add(src);
23 let _foo = ht.add(src);
24 ht.print(root, 0);
25
26 ht.delete(bar);
27 ht.print(root, 0);
28
29 println!("--------- undo ----------");
30 for _ in 0..ht.records.len() - 1 {
31 ht.undo();
32 ht.print(root, 0);
33 }
34
35 println!("--------- redo ----------");
36 for _ in 0..ht.records.len() - 1 {
37 ht.redo();
38 ht.print(root, 0);
39 }
40}