A simple CPU rendered GUI IDE experience.
Diffstat (limited to 'src/rnd.rs')
-rw-r--r--src/rnd.rs15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/rnd.rs b/src/rnd.rs
index 7c3138f..e5d3f40 100644
--- a/src/rnd.rs
+++ b/src/rnd.rs
@@ -21,8 +21,8 @@ use crate::edi::{Editor, lsp_m};
use crate::lsp::Rq;
use crate::text::{CoerceOption, RopeExt, col, color_};
use crate::{
- BG, BORDER, CompletionAction, CompletionState, FG, FONT, complete, filter,
- lsp, sig,
+ BG, BORDER, CompletionAction, CompletionState, FG, FONT, complete,
+ filter, lsp, sig,
};
#[implicit_fn::implicit_fn]
@@ -134,6 +134,15 @@ pub fn render(
x.style.fg = col!("#FFD173");
});
} }
+ if let Some(crate::hov::Hovr{ range:Some(r),..} ) = &ed.requests.hovering.result {
+ x.get_range(text.map_to_visual((r.start.character as _, r.start.line as _)),
+ text.map_to_visual((r.end.character as usize, r.end.line as _)))
+ .for_each(|x| {
+ x.style.secondary_color = col!("#73d0ff");
+ x.style.flags |= Style::UNDERCURL;
+ });
+ // x.range;
+ }
if let Some((lsp, p)) = lsp_m!(ed + p) && let uri = Url::from_file_path(p).unwrap() && let Some(diag) = lsp.diagnostics.get(&uri, &lsp.diagnostics.guard()) {
#[derive(Copy, Clone, Debug)]
enum EType {
@@ -698,7 +707,7 @@ pub fn render(
h as _,
BORDER,
);
- }
+ }
State::Symbols(Rq { result: Some(x), .. }) => 'out: {
let ws = ed.workspace.as_deref().unwrap();
let c = x.cells(50, ws);