serialize-pane.rs

 1use std::{fs::File, path::Path};
 2
 3use db::{pane::SerializedDockPane, DockAnchor};
 4
 5const TEST_FILE: &'static str = "test-db.db";
 6
 7fn main() -> anyhow::Result<()> {
 8    env_logger::init();
 9
10    let db = db::Db::open_in_memory("db");
11
12    let file = Path::new(TEST_FILE);
13
14    let f = File::create(file)?;
15    drop(f);
16
17    let workspace_1 = db.workspace_for_roots(&["/tmp"]);
18    let workspace_2 = db.workspace_for_roots(&["/tmp", "/tmp2"]);
19    let workspace_3 = db.workspace_for_roots(&["/tmp3", "/tmp2"]);
20
21    db.save_dock_pane(
22        &workspace_1.workspace_id,
23        &SerializedDockPane {
24            anchor_position: DockAnchor::Expanded,
25            visible: true,
26        },
27    );
28    db.save_dock_pane(
29        &workspace_2.workspace_id,
30        &SerializedDockPane {
31            anchor_position: DockAnchor::Bottom,
32            visible: true,
33        },
34    );
35    db.save_dock_pane(
36        &workspace_3.workspace_id,
37        &SerializedDockPane {
38            anchor_position: DockAnchor::Right,
39            visible: false,
40        },
41    );
42
43    db.write_to(file).ok();
44
45    println!("Wrote database!");
46
47    Ok(())
48}