A simple CPU rendered GUI IDE experience.
this is a strange thing
| -rw-r--r-- | src/edi/st.rs | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/src/edi/st.rs b/src/edi/st.rs index 3d0f282..7eea337 100644 --- a/src/edi/st.rs +++ b/src/edi/st.rs @@ -92,7 +92,45 @@ Hovering(x) => { >, ((usize, usize), TextDocumentPositionParams)) => (h, d)) => Hovering({ let mut x = x; x.request_d(h, d); x }), C(_) => _ [Hover], MovedOut => Default, - K(_) => _, + + // reconsidering + K(Key::Character("s") if ctrl()) => Save [Save], + K(Key::Character("q") if ctrl()) => Dead [Quit], + K(Key::Character("v") if ctrl()) => Default [Paste], + K(Key::Character("z") if ctrl()) => Default [Undo], + K(Key::Character("d") if ctrl()) => Default [GoToMatch], + K(Key::Character("y") if ctrl()) => Default [Redo], + K(Key::Character("f") if ctrl()) => Procure((default(), InputRequest::Search)), + K(Key::Character("o") if ctrl()) => Procure((default(), InputRequest::OpenFile)), + K(Key::Character("c") if ctrl()) => Default , + K(Key::Character("l") if ctrl()) => Default [Symbols], + K(Key::Character(".") if ctrl()) => Default [CodeAction], + K(Key::Character("0") if ctrl()) => Default [MatchingBrace], + K(Key::Character("`") if ctrl()) => Default [SpawnTerminal], + K(Key::Character("/") if ctrl()) => Default [Comment(State => State::Default)], + K(Key::Character("p") if ctrl()) => Command(Commands => default()), + K(Key::Named(Backspace) if alt()) => Default [DeleteBracketPair], + K(Key::Named(F1)) => Procure((default(), InputRequest::RenameSymbol)), + K(Key::Named(F10)) => GoToL(GoToList => default()) [GoToImplementations], + K(Key::Named(k @ (ArrowUp | ArrowDown)) if alt()) => Default [InsertCursor(Direction => { + if k == ArrowUp {Direction::Above} else { Direction::Below } + })], + K(Key::Named(ArrowUp | ArrowLeft | ArrowDown | ArrowRight | Home | End) if shift()) => Selection [StartSelection], + M(MouseButton::Left if shift()) => Selection [StartSelection], + M(MouseButton::Left if alt()) => Default [InsertCursorAtMouse], + M(MouseButton::Left if ctrl()) => Default [GoToDefinition(Option<TextDocumentPositionParams> => None)], + M(MouseButton::Left) => Default [MoveCursor], + K(Key::Character("=") if ctrl()) => Default [NavForward], + K(Key::Character("-") if ctrl()) => Default [NavBack], + M(MouseButton::Back) => Default [NavBack], + M(MouseButton::Forward) => _ [NavForward], + C(((usize, usize)) => .. if unsafe { CLICKING }) => Selection [StartSelection], + Changed => RequestBoolean(BoolRequest => BoolRequest::ReloadFile), + K(Key::Named(Escape)) => Default [Escape], + K(_) => Default [Edit], + // duplicate zone + + M(MouseButton::Left if ctrl()) => Default [GoToDefinition(x.request.map(|x| x.1.1).or(x.result.map(|x| x.tdpp)))], M(_) => _ [ClickedHover], }, |