Revert "debugger: Remove feature flag"

This reverts commit 82dfa82ba7.
This commit is contained in:
Conrad Irwin 2025-06-17 09:28:35 -06:00
parent 82dfa82ba7
commit b1e59b1371
5 changed files with 272 additions and 227 deletions

View file

@ -32,7 +32,7 @@ use crate::{
};
use buffer_diff::{DiffHunkStatus, DiffHunkStatusKind};
use collections::{BTreeMap, HashMap};
use feature_flags::FeatureFlagAppExt;
use feature_flags::{DebuggerFeatureFlag, FeatureFlagAppExt};
use file_icons::FileIcons;
use git::{
Oid,
@ -567,10 +567,12 @@ 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);
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);
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);
}
}
fn register_key_listeners(&self, window: &mut Window, _: &mut App, layout: &EditorLayout) {
@ -8171,9 +8173,11 @@ impl Element for EditorElement {
let mut breakpoint_rows = self.editor.update(cx, |editor, cx| {
editor.active_breakpoints(start_row..end_row, window, cx)
});
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;
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;
}
}
}
@ -8194,27 +8198,30 @@ 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
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)
});
}
});
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)
});
}
})
}
let mut expand_toggles =
window.with_element_namespace("expand_toggles", |window| {
@ -8683,19 +8690,23 @@ impl Element for EditorElement {
let show_breakpoints = snapshot
.show_breakpoints
.unwrap_or(gutter_settings.breakpoints);
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,
);
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![]
};
self.layout_signature_help(
&hitbox,