@@ -18,7 +18,7 @@ pub struct SelectPrevious {
#[derive(PartialEq, Clone, Deserialize, Default)]
pub struct MoveToBeginningOfLine {
#[serde(default = "default_true")]
- pub(super) stop_at_soft_wraps: bool,
+ pub stop_at_soft_wraps: bool,
}
#[derive(PartialEq, Clone, Deserialize, Default)]
@@ -726,6 +726,19 @@ impl ProjectPanel {
}
fn select_prev(&mut self, _: &SelectPrev, cx: &mut ViewContext<Self>) {
+ if let Some(edit_state) = &self.edit_state {
+ if edit_state.processing_filename.is_none() {
+ self.filename_editor.update(cx, |editor, cx| {
+ editor.move_to_beginning_of_line(
+ &editor::actions::MoveToBeginningOfLine {
+ stop_at_soft_wraps: false,
+ },
+ cx,
+ );
+ });
+ return;
+ }
+ }
if let Some(selection) = self.selection {
let (mut worktree_ix, mut entry_ix, _) =
self.index_for_selection(selection).unwrap_or_default();
@@ -1196,6 +1209,19 @@ impl ProjectPanel {
}
fn select_next(&mut self, _: &SelectNext, cx: &mut ViewContext<Self>) {
+ if let Some(edit_state) = &self.edit_state {
+ if edit_state.processing_filename.is_none() {
+ self.filename_editor.update(cx, |editor, cx| {
+ editor.move_to_end_of_line(
+ &editor::actions::MoveToEndOfLine {
+ stop_at_soft_wraps: false,
+ },
+ cx,
+ );
+ });
+ return;
+ }
+ }
if let Some(selection) = self.selection {
let (mut worktree_ix, mut entry_ix, _) =
self.index_for_selection(selection).unwrap_or_default();