debugger: Fix new session modal not having worktree scenarios (#29453)

Closes #ISSUE

Release Notes:

- N/A
This commit is contained in:
Piotr Osiewicz 2025-04-26 02:16:21 +02:00 committed by GitHub
parent 67615b968b
commit d46890978a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 11 additions and 1 deletions

View File

@ -197,6 +197,11 @@ impl NewSessionModal {
let workspace = self.workspace.clone();
let weak = cx.weak_entity();
let last_profile = self.last_selected_profile_name.clone();
let worktree = workspace
.update(cx, |this, cx| {
this.project().read(cx).visible_worktrees(cx).next()
})
.unwrap_or_default();
DropdownMenu::new(
"debug-config-menu",
last_profile.unwrap_or_else(|| SELECT_SCENARIO_LABEL.clone()),
@ -250,7 +255,9 @@ impl NewSessionModal {
.task_inventory()
.iter()
.flat_map(|task_inventory| {
task_inventory.read(cx).list_debug_scenarios(None)
task_inventory.read(cx).list_debug_scenarios(
worktree.as_ref().map(|worktree| worktree.read(cx).id()),
)
})
.collect()
})

View File

@ -555,6 +555,7 @@ impl Inventory {
});
}
};
let new_templates = raw_tasks.into_iter().filter_map(|raw_template| {
serde_json::from_value::<DebugScenario>(raw_template).log_err()
});

View File

@ -59,6 +59,7 @@ pub struct LaunchRequest {
/// The program that you trying to debug
pub program: String,
/// The current working directory of your project
#[serde(default)]
pub cwd: Option<PathBuf>,
/// Arguments to pass to a debuggee
#[serde(default)]
@ -155,6 +156,7 @@ pub struct DebugScenario {
/// Name of the debug task
pub label: SharedString,
/// A task to run prior to spawning the debuggee.
#[serde(default)]
pub build: Option<SharedString>,
#[serde(flatten)]
pub request: Option<DebugRequest>,