A simple CPU rendered GUI IDE experience.
fix annoyancea
bendn 5 weeks ago
parent 980f392 · commit d793a6b
-rw-r--r--src/com.rs11
-rw-r--r--src/edi.rs2
-rw-r--r--src/main.rs2
3 files changed, 12 insertions, 3 deletions
diff --git a/src/com.rs b/src/com.rs
index ef859d9..9640d91 100644
--- a/src/com.rs
+++ b/src/com.rs
@@ -13,13 +13,22 @@ use serde::{Deserialize, Serialize};
use crate::FG;
use crate::text::{col, color_, set_a};
-#[derive(Debug, Serialize, Deserialize)]
+#[derive(Serialize, Deserialize)]
pub struct Complete {
pub r: CompletionResponse,
pub start: usize,
pub selection: usize,
pub vo: usize,
}
+impl std::fmt::Debug for Complete {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("Complete")
+ .field("start", &self.start)
+ .field("selection", &self.selection)
+ .field("vo", &self.vo)
+ .finish()
+ }
+}
#[lower::apply(saturating)]
pub fn next<const N: usize>(n: usize, sel: &mut usize, vo: &mut usize) {
*sel += 1;
diff --git a/src/edi.rs b/src/edi.rs
index 355d23a..072daab 100644
--- a/src/edi.rs
+++ b/src/edi.rs
@@ -834,6 +834,7 @@ impl Editor {
}
match o {
Some(Do::MaybeRemoveSigHelp) => {
+ take(&mut self.requests.complete);
take(&mut self.requests.sig_help);
}
Some(Do::Comment(x)) => {
@@ -866,7 +867,6 @@ impl Editor {
},
Some(Do::SwitchType) =>
if let Some((lsp, p)) = lsp!(self + p) {
- dbg!("switch type");
let State::Symbols(Rq { result: Some(x), request }) =
&mut self.state
else {
diff --git a/src/main.rs b/src/main.rs
index da30c41..6443f46 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -583,7 +583,7 @@ rust_fsm::state_machine! {
// exit cases
Complete(_) => Click => None,
Complete(_) => NoResult => None,
- Complete(_) => K(Key::Named(Escape)) => None,
+ Complete(_) => K(Key::Named(Escape|ArrowDown|ArrowUp)) => None,
Complete(_) => K(Key::Character(x) if !x.chars().all(is_word)) => None,
Complete(Rq { result: None, request: _y }) => K(Key::Named(NamedKey::ArrowUp | NamedKey::ArrowUp)) => None,