debugger: Remove feature flag (#32877)

Release Notes:

- debugger: Now available for everyone!
This commit is contained in:
Conrad Irwin 2025-06-17 13:56:19 -06:00 committed by GitHub
parent 8883885ecb
commit 3c9fe363d5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 217 additions and 266 deletions

View file

@ -73,7 +73,6 @@ use element::{AcceptEditPredictionBinding, LineWithInvisibles, PositionMap, layo
pub use element::{
CursorLayout, EditorElement, HighlightedRange, HighlightedRangeLine, PointForPosition,
};
use feature_flags::{DebuggerFeatureFlag, FeatureFlagAppExt};
use futures::{
FutureExt, StreamExt as _,
future::{self, Shared, join},
@ -5969,45 +5968,41 @@ impl Editor {
buffer: &Entity<Buffer>,
cx: &mut App,
) -> Task<Vec<task::DebugScenario>> {
if cx.has_flag::<DebuggerFeatureFlag>() {
maybe!({
let project = self.project.as_ref()?;
let dap_store = project.read(cx).dap_store();
let mut scenarios = vec![];
let resolved_tasks = resolved_tasks.as_ref()?;
let buffer = buffer.read(cx);
let language = buffer.language()?;
let file = buffer.file();
let debug_adapter = language_settings(language.name().into(), file, cx)
.debuggers
.first()
.map(SharedString::from)
.or_else(|| language.config().debuggers.first().map(SharedString::from))?;
maybe!({
let project = self.project.as_ref()?;
let dap_store = project.read(cx).dap_store();
let mut scenarios = vec![];
let resolved_tasks = resolved_tasks.as_ref()?;
let buffer = buffer.read(cx);
let language = buffer.language()?;
let file = buffer.file();
let debug_adapter = language_settings(language.name().into(), file, cx)
.debuggers
.first()
.map(SharedString::from)
.or_else(|| language.config().debuggers.first().map(SharedString::from))?;
dap_store.update(cx, |dap_store, cx| {
for (_, task) in &resolved_tasks.templates {
let maybe_scenario = dap_store.debug_scenario_for_build_task(
task.original_task().clone(),
debug_adapter.clone().into(),
task.display_label().to_owned().into(),
cx,
);
scenarios.push(maybe_scenario);
}
});
Some(cx.background_spawn(async move {
let scenarios = futures::future::join_all(scenarios)
.await
.into_iter()
.flatten()
.collect::<Vec<_>>();
scenarios
}))
})
.unwrap_or_else(|| Task::ready(vec![]))
} else {
Task::ready(vec![])
}
dap_store.update(cx, |dap_store, cx| {
for (_, task) in &resolved_tasks.templates {
let maybe_scenario = dap_store.debug_scenario_for_build_task(
task.original_task().clone(),
debug_adapter.clone().into(),
task.display_label().to_owned().into(),
cx,
);
scenarios.push(maybe_scenario);
}
});
Some(cx.background_spawn(async move {
let scenarios = futures::future::join_all(scenarios)
.await
.into_iter()
.flatten()
.collect::<Vec<_>>();
scenarios
}))
})
.unwrap_or_else(|| Task::ready(vec![]))
}
fn code_actions(
@ -10155,9 +10150,6 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) {
if !cx.has_flag::<DebuggerFeatureFlag>() {
return;
}
let source = self
.buffer
.read(cx)