repl: List kernelspecs of the current worktree (#40154)
Closes #25564 Release Notes: - Fix virtual env REPLs not showing up
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user