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 workspace = self.workspace.clone();
let weak = cx.weak_entity(); let weak = cx.weak_entity();
let last_profile = self.last_selected_profile_name.clone(); 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( DropdownMenu::new(
"debug-config-menu", "debug-config-menu",
last_profile.unwrap_or_else(|| SELECT_SCENARIO_LABEL.clone()), last_profile.unwrap_or_else(|| SELECT_SCENARIO_LABEL.clone()),
@ -250,7 +255,9 @@ impl NewSessionModal {
.task_inventory() .task_inventory()
.iter() .iter()
.flat_map(|task_inventory| { .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() .collect()
}) })

View file

@ -555,6 +555,7 @@ impl Inventory {
}); });
} }
}; };
let new_templates = raw_tasks.into_iter().filter_map(|raw_template| { let new_templates = raw_tasks.into_iter().filter_map(|raw_template| {
serde_json::from_value::<DebugScenario>(raw_template).log_err() 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 /// The program that you trying to debug
pub program: String, pub program: String,
/// The current working directory of your project /// The current working directory of your project
#[serde(default)]
pub cwd: Option<PathBuf>, pub cwd: Option<PathBuf>,
/// Arguments to pass to a debuggee /// Arguments to pass to a debuggee
#[serde(default)] #[serde(default)]
@ -155,6 +156,7 @@ pub struct DebugScenario {
/// Name of the debug task /// Name of the debug task
pub label: SharedString, pub label: SharedString,
/// A task to run prior to spawning the debuggee. /// A task to run prior to spawning the debuggee.
#[serde(default)]
pub build: Option<SharedString>, pub build: Option<SharedString>,
#[serde(flatten)] #[serde(flatten)]
pub request: Option<DebugRequest>, pub request: Option<DebugRequest>,