A simple CPU rendered GUI IDE experience.
Adding ability to open file menu in space mode
lambdalemon 10 days ago
parent 50cad24 · commit bff860a
-rw-r--r--src/edi.rs1
-rw-r--r--src/edi/st.rs12
2 files changed, 8 insertions, 5 deletions
diff --git a/src/edi.rs b/src/edi.rs
index 579994a..8566c89 100644
--- a/src/edi.rs
+++ b/src/edi.rs
@@ -260,6 +260,7 @@ impl Editor {
.map(|x| x.path().to_owned())
.collect::<Vec<_>>()
});
+ assert!(me.tree.is_some());
let l = me.workspace.as_ref().map(|workspace| {
let dh = std::panic::take_hook();
let main = std::thread::current_id();
diff --git a/src/edi/st.rs b/src/edi/st.rs
index d7e60ff..e2a14b7 100644
--- a/src/edi/st.rs
+++ b/src/edi/st.rs
@@ -39,7 +39,7 @@ Dead => K(Key => _) => Dead,
Normal => {
K(Key::Character(x) if x == "i") => Insert,
K(Key::Character(x) if x == ":") => Command (Commands => default()),
- K(Key::Named(Space)) => SpaceMode ( SpaceModes => default() ),
+ K(Key::Named(Space)) => SpaceMode,
K(_) => _,
M(_) => _,
C(_) => _,
@@ -59,9 +59,11 @@ Command(mut t) => K(k) => Command({ handle2(&k, &mut t.tedit, None); t }),
Command(t) => C(_) => _,
Command(t) => K(_) => _,
-SpaceMode(_) => K(Key::Named(Escape)) => Normal,
-SpaceMode(t) => C(_) => _,
-SpaceMode(t) => K(_) => _,
+SpaceMode => K(Key::Named(Escape)) => Normal,
+SpaceMode => K(Key::Character(x) if x == "f") => _ [Symbols],
+SpaceMode => K(Key::Character(x) if x == "a") => _ [CodeAction],
+SpaceMode => C(_) => _,
+SpaceMode => K(_) => _,
Default => {
K(Key::Character(x) if x == "n" && ctrl()) => Normal,
@@ -103,7 +105,7 @@ Symbols(Rq { result: Some(_x), request: _rq }) => {
K(Key::Named(ArrowDown)) => _ [SymbolsSelectNext],
K(Key::Named(ArrowUp | Tab)) => _ [SymbolsSelectPrev],
K(Key::Named(Enter)) => _ [SymbolsSelect],
- K(Key::Named(Escape)) => Default,
+ K(Key::Named(Escape)) => Normal,
},
Symbols(Rq::<Symbols, Option<SymbolsList>, (), AQErr> => _rq) => {
K(Key::Character(x) if x == "d" && ctrl()) => _ [SwitchType], // crahs cond methinks