Remove actions UnfoldAt and FoldAt (#28442)

`UnfoldAt` and `FoldAt` are used internally, and don't really work
when users try to trigger them, they do however appear in the command
palette and keybindings, misleading users to try using them.

Release Notes:

- Remove unused actions `UnfoldAt` and `FoldAt` (prefer `Fold` and
`Unfold`).
This commit is contained in:
João Marcos 2025-04-09 14:13:41 -03:00 committed by GitHub
parent 9f6c5e2877
commit b47aa33459
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 22 additions and 46 deletions

View file

@ -10,7 +10,7 @@ use collections::{BTreeSet, HashMap, HashSet, hash_map};
use editor::{ use editor::{
Anchor, Editor, EditorEvent, MenuInlineCompletionsPolicy, ProposedChangeLocation, Anchor, Editor, EditorEvent, MenuInlineCompletionsPolicy, ProposedChangeLocation,
ProposedChangesEditor, RowExt, ToOffset as _, ToPoint, ProposedChangesEditor, RowExt, ToOffset as _, ToPoint,
actions::{FoldAt, MoveToEndOfLine, Newline, ShowCompletions, UnfoldAt}, actions::{MoveToEndOfLine, Newline, ShowCompletions},
display_map::{ display_map::{
BlockContext, BlockId, BlockPlacement, BlockProperties, BlockStyle, Crease, CreaseMetadata, BlockContext, BlockId, BlockPlacement, BlockProperties, BlockStyle, Crease, CreaseMetadata,
CustomBlockId, FoldId, RenderBlock, ToDisplayPoint, CustomBlockId, FoldId, RenderBlock, ToDisplayPoint,
@ -1053,7 +1053,7 @@ impl ContextEditor {
let creases = editor.insert_creases(creases, cx); let creases = editor.insert_creases(creases, cx);
for buffer_row in buffer_rows_to_fold.into_iter().rev() { for buffer_row in buffer_rows_to_fold.into_iter().rev() {
editor.fold_at(&FoldAt { buffer_row }, window, cx); editor.fold_at(buffer_row, window, cx);
} }
creases creases
@ -1109,7 +1109,7 @@ impl ContextEditor {
buffer_rows_to_fold.clear(); buffer_rows_to_fold.clear();
} }
for buffer_row in buffer_rows_to_fold.into_iter().rev() { for buffer_row in buffer_rows_to_fold.into_iter().rev() {
editor.fold_at(&FoldAt { buffer_row }, window, cx); editor.fold_at(buffer_row, window, cx);
} }
}); });
} }
@ -1844,13 +1844,7 @@ impl ContextEditor {
|_, _, _, _| Empty.into_any(), |_, _, _, _| Empty.into_any(),
); );
editor.insert_creases(vec![crease], cx); editor.insert_creases(vec![crease], cx);
editor.fold_at( editor.fold_at(start_row, window, cx);
&FoldAt {
buffer_row: start_row,
},
window,
cx,
);
} }
}) })
} }
@ -2042,7 +2036,7 @@ impl ContextEditor {
cx, cx,
); );
for buffer_row in buffer_rows_to_fold.into_iter().rev() { for buffer_row in buffer_rows_to_fold.into_iter().rev() {
editor.fold_at(&FoldAt { buffer_row }, window, cx); editor.fold_at(buffer_row, window, cx);
} }
} }
}); });
@ -2820,7 +2814,7 @@ fn render_thought_process_fold_icon_button(
.start .start
.to_point(&editor.buffer().read(cx).read(cx)); .to_point(&editor.buffer().read(cx).read(cx));
let buffer_row = MultiBufferRow(buffer_start.row); let buffer_row = MultiBufferRow(buffer_start.row);
editor.unfold_at(&UnfoldAt { buffer_row }, window, cx); editor.unfold_at(buffer_row, window, cx);
}) })
.ok(); .ok();
}) })
@ -2847,7 +2841,7 @@ fn render_fold_icon_button(
.start .start
.to_point(&editor.buffer().read(cx).read(cx)); .to_point(&editor.buffer().read(cx).read(cx));
let buffer_row = MultiBufferRow(buffer_start.row); let buffer_row = MultiBufferRow(buffer_start.row);
editor.unfold_at(&UnfoldAt { buffer_row }, window, cx); editor.unfold_at(buffer_row, window, cx);
}) })
.ok(); .ok();
}) })
@ -2907,7 +2901,7 @@ fn quote_selection_fold_placeholder(title: String, editor: WeakEntity<Editor>) -
.start .start
.to_point(&editor.buffer().read(cx).read(cx)); .to_point(&editor.buffer().read(cx).read(cx));
let buffer_row = MultiBufferRow(buffer_start.row); let buffer_row = MultiBufferRow(buffer_start.row);
editor.unfold_at(&UnfoldAt { buffer_row }, window, cx); editor.unfold_at(buffer_row, window, cx);
}) })
.ok(); .ok();
}) })

View file

@ -110,20 +110,6 @@ pub struct ToggleComments {
pub ignore_indent: bool, pub ignore_indent: bool,
} }
#[derive(PartialEq, Clone, Deserialize, Default, JsonSchema)]
#[serde(deny_unknown_fields)]
pub struct FoldAt {
#[serde(skip)]
pub buffer_row: MultiBufferRow,
}
#[derive(PartialEq, Clone, Deserialize, Default, JsonSchema)]
#[serde(deny_unknown_fields)]
pub struct UnfoldAt {
#[serde(skip)]
pub buffer_row: MultiBufferRow,
}
#[derive(PartialEq, Clone, Deserialize, Default, JsonSchema)] #[derive(PartialEq, Clone, Deserialize, Default, JsonSchema)]
#[serde(deny_unknown_fields)] #[serde(deny_unknown_fields)]
pub struct MoveUpByLines { pub struct MoveUpByLines {
@ -226,7 +212,6 @@ impl_actions!(
ExpandExcerpts, ExpandExcerpts,
ExpandExcerptsDown, ExpandExcerptsDown,
ExpandExcerptsUp, ExpandExcerptsUp,
FoldAt,
HandleInput, HandleInput,
MoveDownByLines, MoveDownByLines,
MovePageDown, MovePageDown,
@ -244,7 +229,6 @@ impl_actions!(
ShowCompletions, ShowCompletions,
ToggleCodeActions, ToggleCodeActions,
ToggleComments, ToggleComments,
UnfoldAt,
FoldAtLevel, FoldAtLevel,
] ]
); );

View file

@ -14915,8 +14915,12 @@ impl Editor {
self.fold_creases(to_fold, true, window, cx); self.fold_creases(to_fold, true, window, cx);
} }
pub fn fold_at(&mut self, fold_at: &FoldAt, window: &mut Window, cx: &mut Context<Self>) { pub fn fold_at(
let buffer_row = fold_at.buffer_row; &mut self,
buffer_row: MultiBufferRow,
window: &mut Window,
cx: &mut Context<Self>,
) {
let display_map = self.display_map.update(cx, |map, cx| map.snapshot(cx)); let display_map = self.display_map.update(cx, |map, cx| map.snapshot(cx));
if let Some(crease) = display_map.crease_for_buffer_row(buffer_row) { if let Some(crease) = display_map.crease_for_buffer_row(buffer_row) {
@ -14986,16 +14990,16 @@ impl Editor {
pub fn unfold_at( pub fn unfold_at(
&mut self, &mut self,
unfold_at: &UnfoldAt, buffer_row: MultiBufferRow,
_window: &mut Window, _window: &mut Window,
cx: &mut Context<Self>, cx: &mut Context<Self>,
) { ) {
let display_map = self.display_map.update(cx, |map, cx| map.snapshot(cx)); let display_map = self.display_map.update(cx, |map, cx| map.snapshot(cx));
let intersection_range = Point::new(unfold_at.buffer_row.0, 0) let intersection_range = Point::new(buffer_row.0, 0)
..Point::new( ..Point::new(
unfold_at.buffer_row.0, buffer_row.0,
display_map.buffer_snapshot.line_len(unfold_at.buffer_row), display_map.buffer_snapshot.line_len(buffer_row),
); );
let autoscroll = self let autoscroll = self
@ -19364,15 +19368,11 @@ impl EditorSnapshot {
Arc::new(move |folded, window: &mut Window, cx: &mut App| { Arc::new(move |folded, window: &mut Window, cx: &mut App| {
if folded { if folded {
editor.update(cx, |editor, cx| { editor.update(cx, |editor, cx| {
editor.fold_at(&crate::FoldAt { buffer_row }, window, cx) editor.fold_at(buffer_row, window, cx)
}); });
} else { } else {
editor.update(cx, |editor, cx| { editor.update(cx, |editor, cx| {
editor.unfold_at( editor.unfold_at(buffer_row, window, cx)
&crate::UnfoldAt { buffer_row },
window,
cx,
)
}); });
} }
}); });
@ -19396,9 +19396,9 @@ impl EditorSnapshot {
.toggle_state(folded) .toggle_state(folded)
.on_click(window.listener_for(&editor, move |this, _e, window, cx| { .on_click(window.listener_for(&editor, move |this, _e, window, cx| {
if folded { if folded {
this.unfold_at(&UnfoldAt { buffer_row }, window, cx); this.unfold_at(buffer_row, window, cx);
} else { } else {
this.fold_at(&FoldAt { buffer_row }, window, cx); this.fold_at(buffer_row, window, cx);
} }
})) }))
.into_any_element(), .into_any_element(),

View file

@ -387,14 +387,12 @@ impl EditorElement {
register_action(editor, window, Editor::fold_at_level); register_action(editor, window, Editor::fold_at_level);
register_action(editor, window, Editor::fold_all); register_action(editor, window, Editor::fold_all);
register_action(editor, window, Editor::fold_function_bodies); register_action(editor, window, Editor::fold_function_bodies);
register_action(editor, window, Editor::fold_at);
register_action(editor, window, Editor::fold_recursive); register_action(editor, window, Editor::fold_recursive);
register_action(editor, window, Editor::toggle_fold); register_action(editor, window, Editor::toggle_fold);
register_action(editor, window, Editor::toggle_fold_recursive); register_action(editor, window, Editor::toggle_fold_recursive);
register_action(editor, window, Editor::unfold_lines); register_action(editor, window, Editor::unfold_lines);
register_action(editor, window, Editor::unfold_recursive); register_action(editor, window, Editor::unfold_recursive);
register_action(editor, window, Editor::unfold_all); register_action(editor, window, Editor::unfold_all);
register_action(editor, window, Editor::unfold_at);
register_action(editor, window, Editor::fold_selected_ranges); register_action(editor, window, Editor::fold_selected_ranges);
register_action(editor, window, Editor::set_mark); register_action(editor, window, Editor::set_mark);
register_action(editor, window, Editor::swap_selection_ends); register_action(editor, window, Editor::swap_selection_ends);