Skip to content

Commit

Permalink
Remove special-casing of line ending characters in selection replacement
Browse files Browse the repository at this point in the history
  • Loading branch information
chrispyles committed May 18, 2024
1 parent 889bbef commit 82cbd7f
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 9 deletions.
11 changes: 2 additions & 9 deletions helix-term/src/commands.rs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ use helix_core::{
history::UndoKind,
increment, indent,
indent::IndentStyle,
line_ending::{get_line_ending_of_str, line_end_char_index, str_is_line_ending},
line_ending::{get_line_ending_of_str, line_end_char_index},
match_brackets,
movement::{self, move_vertically_visual, Direction},
object, pos_at_coords,
Expand Down Expand Up @@ -1596,14 +1596,7 @@ fn replace(cx: &mut Context) {
if !range.is_empty() {
let text: String =
RopeGraphemes::new(doc.text().slice(range.from()..range.to()))
.map(|g| {
let cow: Cow<str> = g.into();
if str_is_line_ending(&cow) {
cow
} else {
ch.into()
}
})
.map(|_| -> Cow<str> { ch.into() })
.collect();

(range.from(), range.to(), Some(text.into()))
Expand Down
14 changes: 14 additions & 0 deletions helix-term/tests/test/commands.rs
Original file line number Diff line number Diff line change
Expand Up @@ -722,5 +722,19 @@ fn foo() {
))
.await?;

test((
indoc! {"\
#[a|]#
b
c
d
e
f
"},
"4xs\\n<ret>r,",
"a#[,|]#b#(,|)#c#(,|)#d#(,|)#e\nf\n",
))
.await?;

Ok(())
}

0 comments on commit 82cbd7f

Please sign in to comment.