repl: List kernelspecs of the current worktree (#40154)

Closes #25564

Release Notes:

- Fix virtual env REPLs not showing up
This commit is contained in:
Abdelhakim Qbaich
2025-10-15 20:17:56 +02:00
committed by GitHub
parent ecb016081a
commit 49acfd2602
+6 -6
View File
@@ -214,8 +214,9 @@ impl ReplStore {
let selected_kernelspec = self.selected_kernel_for_worktree.get(&worktree_id).cloned();
if let Some(language_at_cursor) = language_at_cursor {
selected_kernelspec
.or_else(|| self.kernelspec_legacy_by_lang_only(language_at_cursor, cx))
selected_kernelspec.or_else(|| {
self.kernelspec_legacy_by_lang_only(worktree_id, language_at_cursor, cx)
})
} else {
selected_kernelspec
}
@@ -223,6 +224,7 @@ impl ReplStore {
fn kernelspec_legacy_by_lang_only(
&self,
worktree_id: WorktreeId,
language_at_cursor: Arc<Language>,
cx: &App,
) -> Option<KernelSpecification> {
@@ -232,8 +234,7 @@ impl ReplStore {
.get(language_at_cursor.code_fence_block_name().as_ref());
let found_by_name = self
.kernel_specifications
.iter()
.kernel_specifications_for_worktree(worktree_id)
.find(|runtime_specification| {
if let (Some(selected), KernelSpecification::Jupyter(runtime_specification)) =
(selected_kernel, runtime_specification)
@@ -249,8 +250,7 @@ impl ReplStore {
return Some(found_by_name);
}
self.kernel_specifications
.iter()
self.kernel_specifications_for_worktree(worktree_id)
.find(|kernel_option| match kernel_option {
KernelSpecification::Jupyter(runtime_specification) => {
runtime_specification.kernelspec.language.to_lowercase()