Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'helix-term/src/ui/picker/handlers.rs')
-rw-r--r--helix-term/src/ui/picker/handlers.rs22
1 files changed, 10 insertions, 12 deletions
diff --git a/helix-term/src/ui/picker/handlers.rs b/helix-term/src/ui/picker/handlers.rs
index 040fffa8..9a3af9b3 100644
--- a/helix-term/src/ui/picker/handlers.rs
+++ b/helix-term/src/ui/picker/handlers.rs
@@ -70,23 +70,21 @@ impl<T: 'static + Send + Sync, D: 'static + Send + Sync> AsyncHook
return;
}
- let Some(language_config) = doc.detect_language_config(&editor.syn_loader.load())
- else {
+ let loader = editor.syn_loader.load();
+ let Some(language_config) = doc.detect_language_config(&loader) else {
return;
};
- doc.language = Some(language_config.clone());
+ let language = language_config.language();
+ doc.language = Some(language_config);
let text = doc.text().clone();
- let loader = editor.syn_loader.clone();
tokio::task::spawn_blocking(move || {
- let Some(syntax) = language_config
- .highlight_config(&loader.load().scopes())
- .and_then(|highlight_config| {
- helix_core::Syntax::new(text.slice(..), highlight_config, loader)
- })
- else {
- log::info!("highlighting picker item failed");
- return;
+ let syntax = match helix_core::Syntax::new(text.slice(..), language, &loader) {
+ Ok(syntax) => syntax,
+ Err(err) => {
+ log::info!("highlighting picker preview failed: {err}");
+ return;
+ }
};
job::dispatch_blocking(move |editor, compositor| {