mirror of https://github.com/helix-editor/helix
display tree sitter scopes in a popup (#4337)
parent
d17ffc47f0
commit
1f74cf45d4
|
@ -1060,7 +1060,21 @@ fn tree_sitter_scopes(
|
||||||
|
|
||||||
let pos = doc.selection(view.id).primary().cursor(text);
|
let pos = doc.selection(view.id).primary().cursor(text);
|
||||||
let scopes = indent::get_scopes(doc.syntax(), text, pos);
|
let scopes = indent::get_scopes(doc.syntax(), text, pos);
|
||||||
cx.editor.set_status(format!("scopes: {:?}", &scopes));
|
|
||||||
|
let contents = format!("```json\n{:?}\n````", scopes);
|
||||||
|
|
||||||
|
let callback = async move {
|
||||||
|
let call: job::Callback =
|
||||||
|
Box::new(move |editor: &mut Editor, compositor: &mut Compositor| {
|
||||||
|
let contents = ui::Markdown::new(contents, editor.syn_loader.clone());
|
||||||
|
let popup = Popup::new("hover", contents).auto_close(true);
|
||||||
|
compositor.replace_or_push("hover", popup);
|
||||||
|
});
|
||||||
|
Ok(call)
|
||||||
|
};
|
||||||
|
|
||||||
|
cx.jobs.callback(callback);
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue