@@ -150,7 +150,12 @@ fn word_move(slice: RopeSlice, range: Range, count: usize, target: WordMotionTar
153−pub fn move_prev_para(slice: RopeSlice, range: Range, count: usize, behavior: Movement) -> Range {
153+pub fn move_prev_paragraph(
154 let mut line = range.cursor_line(slice);
159 let mut line = range.cursor_line(slice);
155 let first_char = slice.line_to_char(line) == range.cursor(slice);
160 let first_char = slice.line_to_char(line) == range.cursor(slice);
156 let prev_line_empty = rope_is_line_ending(slice.line(line.saturating_sub(1)));
161 let prev_line_empty = rope_is_line_ending(slice.line(line.saturating_sub(1)));
@@ -187,7 +192,12 @@ pub fn move_prev_para(slice: RopeSlice, range: Range, count: usize, behavior: Mo
187 Range::new(anchor, head)
192 Range::new(anchor, head)
190−pub fn move_next_para(slice: RopeSlice, range: Range, count: usize, behavior: Movement) -> Range {
195+pub fn move_next_paragraph(
191 let mut line = range.cursor_line(slice);
201 let mut line = range.cursor_line(slice);
192 let last_char =
202 let last_char =
193 prev_grapheme_boundary(slice, slice.line_to_char(line + 1)) == range.cursor(slice);
203 prev_grapheme_boundary(slice, slice.line_to_char(line + 1)) == range.cursor(slice);
@@ -1280,7 +1290,7 @@ mod test {
1280 let (s, selection) = crate::test::print(before);
1290 let (s, selection) = crate::test::print(before);
1281 let text = Rope::from(s.as_str());
1291 let text = Rope::from(s.as_str());
1282 let selection =
1292 let selection =
1283− selection.transform(|r| move_prev_para(text.slice(..), r, 1, Movement::Move));
1293+ selection.transform(|r| move_prev_paragraph(text.slice(..), r, 1, Movement::Move));
1284 let actual = crate::test::plain(&s, selection);
1294 let actual = crate::test::plain(&s, selection);
1285 assert_eq!(actual, expected, "\nbefore: `{before:?}`");
1295 assert_eq!(actual, expected, "\nbefore: `{before:?}`");
@@ -1303,7 +1313,7 @@ mod test {
1303 let (s, selection) = crate::test::print(before);
1313 let (s, selection) = crate::test::print(before);
1304 let text = Rope::from(s.as_str());
1314 let text = Rope::from(s.as_str());
1305 let selection =
1315 let selection =
1306− selection.transform(|r| move_prev_para(text.slice(..), r, 2, Movement::Move));
1316+ selection.transform(|r| move_prev_paragraph(text.slice(..), r, 2, Movement::Move));
1307 let actual = crate::test::plain(&s, selection);
1317 let actual = crate::test::plain(&s, selection);
1308 assert_eq!(actual, expected, "\nbefore: `{before:?}`");
1318 assert_eq!(actual, expected, "\nbefore: `{before:?}`");
@@ -1325,8 +1335,8 @@ mod test {
1325 for (before, expected) in tests {
1335 for (before, expected) in tests {
1326 let (s, selection) = crate::test::print(before);
1336 let (s, selection) = crate::test::print(before);
1327 let text = Rope::from(s.as_str());
1337 let text = Rope::from(s.as_str());
1328− let selection =
1338+ let selection = selection
1329− selection.transform(|r| move_prev_para(text.slice(..), r, 1, Movement::Extend));
1339+ .transform(|r| move_prev_paragraph(text.slice(..), r, 1, Movement::Extend));
1330 let actual = crate::test::plain(&s, selection);
1340 let actual = crate::test::plain(&s, selection);
1331 assert_eq!(actual, expected, "\nbefore: `{before:?}`");
1341 assert_eq!(actual, expected, "\nbefore: `{before:?}`");
@@ -1360,7 +1370,7 @@ mod test {
1360 let (s, selection) = crate::test::print(before);
1370 let (s, selection) = crate::test::print(before);
1361 let text = Rope::from(s.as_str());
1371 let text = Rope::from(s.as_str());
1362 let selection =
1372 let selection =
1363− selection.transform(|r| move_next_para(text.slice(..), r, 1, Movement::Move));
1373+ selection.transform(|r| move_next_paragraph(text.slice(..), r, 1, Movement::Move));
1364 let actual = crate::test::plain(&s, selection);
1374 let actual = crate::test::plain(&s, selection);
1365 assert_eq!(actual, expected, "\nbefore: `{before:?}`");
1375 assert_eq!(actual, expected, "\nbefore: `{before:?}`");
@@ -1383,7 +1393,7 @@ mod test {
1383 let (s, selection) = crate::test::print(before);
1393 let (s, selection) = crate::test::print(before);
1384 let text = Rope::from(s.as_str());
1394 let text = Rope::from(s.as_str());
1385 let selection =
1395 let selection =
1386− selection.transform(|r| move_next_para(text.slice(..), r, 2, Movement::Move));
1396+ selection.transform(|r| move_next_paragraph(text.slice(..), r, 2, Movement::Move));
1387 let actual = crate::test::plain(&s, selection);
1397 let actual = crate::test::plain(&s, selection);
1388 assert_eq!(actual, expected, "\nbefore: `{before:?}`");
1398 assert_eq!(actual, expected, "\nbefore: `{before:?}`");
@@ -1405,8 +1415,8 @@ mod test {
1405 for (before, expected) in tests {
1415 for (before, expected) in tests {
1406 let (s, selection) = crate::test::print(before);
1416 let (s, selection) = crate::test::print(before);
1407 let text = Rope::from(s.as_str());
1417 let text = Rope::from(s.as_str());
1408− let selection =
1418+ let selection = selection
1409− selection.transform(|r| move_next_para(text.slice(..), r, 1, Movement::Extend));
1419+ .transform(|r| move_next_paragraph(text.slice(..), r, 1, Movement::Extend));
1410 let actual = crate::test::plain(&s, selection);
1420 let actual = crate::test::plain(&s, selection);
1411 assert_eq!(actual, expected, "\nbefore: `{before:?}`");
1421 assert_eq!(actual, expected, "\nbefore: `{before:?}`");