debugger: Remove feature flag
This commit is contained in:
parent
5405c2c2d3
commit
82dfa82ba7
5 changed files with 226 additions and 271 deletions
|
@ -73,7 +73,7 @@ use element::{AcceptEditPredictionBinding, LineWithInvisibles, PositionMap, layo
|
|||
pub use element::{
|
||||
CursorLayout, EditorElement, HighlightedRange, HighlightedRangeLine, PointForPosition,
|
||||
};
|
||||
use feature_flags::{DebuggerFeatureFlag, FeatureFlagAppExt};
|
||||
use feature_flags::FeatureFlagAppExt;
|
||||
use futures::{
|
||||
FutureExt, StreamExt as _,
|
||||
future::{self, Shared, join},
|
||||
|
@ -5969,45 +5969,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 +10151,6 @@ impl Editor {
|
|||
window: &mut Window,
|
||||
cx: &mut Context<Self>,
|
||||
) {
|
||||
if !cx.has_flag::<DebuggerFeatureFlag>() {
|
||||
return;
|
||||
}
|
||||
let source = self
|
||||
.buffer
|
||||
.read(cx)
|
||||
|
|
|
@ -32,7 +32,7 @@ use crate::{
|
|||
};
|
||||
use buffer_diff::{DiffHunkStatus, DiffHunkStatusKind};
|
||||
use collections::{BTreeMap, HashMap};
|
||||
use feature_flags::{DebuggerFeatureFlag, FeatureFlagAppExt};
|
||||
use feature_flags::FeatureFlagAppExt;
|
||||
use file_icons::FileIcons;
|
||||
use git::{
|
||||
Oid,
|
||||
|
@ -567,12 +567,10 @@ impl EditorElement {
|
|||
register_action(editor, window, Editor::insert_uuid_v4);
|
||||
register_action(editor, window, Editor::insert_uuid_v7);
|
||||
register_action(editor, window, Editor::open_selections_in_multibuffer);
|
||||
if cx.has_flag::<DebuggerFeatureFlag>() {
|
||||
register_action(editor, window, Editor::toggle_breakpoint);
|
||||
register_action(editor, window, Editor::edit_log_breakpoint);
|
||||
register_action(editor, window, Editor::enable_breakpoint);
|
||||
register_action(editor, window, Editor::disable_breakpoint);
|
||||
}
|
||||
register_action(editor, window, Editor::toggle_breakpoint);
|
||||
register_action(editor, window, Editor::edit_log_breakpoint);
|
||||
register_action(editor, window, Editor::enable_breakpoint);
|
||||
register_action(editor, window, Editor::disable_breakpoint);
|
||||
}
|
||||
|
||||
fn register_key_listeners(&self, window: &mut Window, _: &mut App, layout: &EditorLayout) {
|
||||
|
@ -8173,11 +8171,9 @@ impl Element for EditorElement {
|
|||
let mut breakpoint_rows = self.editor.update(cx, |editor, cx| {
|
||||
editor.active_breakpoints(start_row..end_row, window, cx)
|
||||
});
|
||||
if cx.has_flag::<DebuggerFeatureFlag>() {
|
||||
for (display_row, (_, bp, state)) in &breakpoint_rows {
|
||||
if bp.is_enabled() && state.is_none_or(|s| s.verified) {
|
||||
active_rows.entry(*display_row).or_default().breakpoint = true;
|
||||
}
|
||||
for (display_row, (_, bp, state)) in &breakpoint_rows {
|
||||
if bp.is_enabled() && state.is_none_or(|s| s.verified) {
|
||||
active_rows.entry(*display_row).or_default().breakpoint = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -8198,30 +8194,27 @@ impl Element for EditorElement {
|
|||
// We add the gutter breakpoint indicator to breakpoint_rows after painting
|
||||
// line numbers so we don't paint a line number debug accent color if a user
|
||||
// has their mouse over that line when a breakpoint isn't there
|
||||
if cx.has_flag::<DebuggerFeatureFlag>() {
|
||||
self.editor.update(cx, |editor, _| {
|
||||
if let Some(phantom_breakpoint) = &mut editor
|
||||
.gutter_breakpoint_indicator
|
||||
.0
|
||||
.filter(|phantom_breakpoint| phantom_breakpoint.is_active)
|
||||
{
|
||||
// Is there a non-phantom breakpoint on this line?
|
||||
phantom_breakpoint.collides_with_existing_breakpoint = true;
|
||||
breakpoint_rows
|
||||
.entry(phantom_breakpoint.display_row)
|
||||
.or_insert_with(|| {
|
||||
let position = snapshot.display_point_to_anchor(
|
||||
DisplayPoint::new(phantom_breakpoint.display_row, 0),
|
||||
Bias::Right,
|
||||
);
|
||||
let breakpoint = Breakpoint::new_standard();
|
||||
phantom_breakpoint.collides_with_existing_breakpoint =
|
||||
false;
|
||||
(position, breakpoint, None)
|
||||
});
|
||||
}
|
||||
})
|
||||
}
|
||||
self.editor.update(cx, |editor, _| {
|
||||
if let Some(phantom_breakpoint) = &mut editor
|
||||
.gutter_breakpoint_indicator
|
||||
.0
|
||||
.filter(|phantom_breakpoint| phantom_breakpoint.is_active)
|
||||
{
|
||||
// Is there a non-phantom breakpoint on this line?
|
||||
phantom_breakpoint.collides_with_existing_breakpoint = true;
|
||||
breakpoint_rows
|
||||
.entry(phantom_breakpoint.display_row)
|
||||
.or_insert_with(|| {
|
||||
let position = snapshot.display_point_to_anchor(
|
||||
DisplayPoint::new(phantom_breakpoint.display_row, 0),
|
||||
Bias::Right,
|
||||
);
|
||||
let breakpoint = Breakpoint::new_standard();
|
||||
phantom_breakpoint.collides_with_existing_breakpoint = false;
|
||||
(position, breakpoint, None)
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
let mut expand_toggles =
|
||||
window.with_element_namespace("expand_toggles", |window| {
|
||||
|
@ -8690,23 +8683,19 @@ impl Element for EditorElement {
|
|||
let show_breakpoints = snapshot
|
||||
.show_breakpoints
|
||||
.unwrap_or(gutter_settings.breakpoints);
|
||||
let breakpoints = if cx.has_flag::<DebuggerFeatureFlag>() && show_breakpoints {
|
||||
self.layout_breakpoints(
|
||||
line_height,
|
||||
start_row..end_row,
|
||||
scroll_pixel_position,
|
||||
&gutter_dimensions,
|
||||
&gutter_hitbox,
|
||||
&display_hunks,
|
||||
&snapshot,
|
||||
breakpoint_rows,
|
||||
&row_infos,
|
||||
window,
|
||||
cx,
|
||||
)
|
||||
} else {
|
||||
vec![]
|
||||
};
|
||||
let breakpoints = self.layout_breakpoints(
|
||||
line_height,
|
||||
start_row..end_row,
|
||||
scroll_pixel_position,
|
||||
&gutter_dimensions,
|
||||
&gutter_hitbox,
|
||||
&display_hunks,
|
||||
&snapshot,
|
||||
breakpoint_rows,
|
||||
&row_infos,
|
||||
window,
|
||||
cx,
|
||||
);
|
||||
|
||||
self.layout_signature_help(
|
||||
&hitbox,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue