display tree sitter scopes in a popup (#4337)

This commit is contained in:
Roberto Vidal 2022-10-18 20:30:00 +02:00 committed by GitHub
parent d17ffc47f0
commit 1f74cf45d4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1060,7 +1060,21 @@ fn tree_sitter_scopes(
let pos = doc.selection(view.id).primary().cursor(text);
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(())
}