mirror of
https://github.com/nushell/nushell.git
synced 2024-11-24 17:34:00 +01:00
Fix explore
panic on empty lists (#13074)
This fixes up a panic I accidentally introduced when refactoring the cursor code in `explore`: https://github.com/nushell/nushell/pull/12979 Under certain circumstances (running `:nu []`, opening `:try` with the hidden `try.reactive` setting enabled), `explore` would panic when handling an empty list. To fix this for now I've removed the validation I added to the Cursor constructor in that PR.
This commit is contained in:
parent
f378c72f6f
commit
75d5807dcd
@ -28,11 +28,10 @@ struct Cursor {
|
||||
|
||||
impl Cursor {
|
||||
/// Constructor to create a new Cursor
|
||||
pub fn new(size: usize) -> Result<Self> {
|
||||
if size == 0 {
|
||||
bail!("Size cannot be zero");
|
||||
}
|
||||
Ok(Cursor { position: 0, size })
|
||||
pub fn new(size: usize) -> Self {
|
||||
// In theory we should not be able to create a cursor with size 0, but in practice
|
||||
// it's easier to allow that for empty lists etc. instead of propagating errors
|
||||
Cursor { position: 0, size }
|
||||
}
|
||||
|
||||
/// The max position the cursor can be at
|
||||
@ -88,7 +87,7 @@ mod tests {
|
||||
#[test]
|
||||
fn test_cursor_set_position() {
|
||||
// from 0 to 9
|
||||
let mut cursor = Cursor::new(10).unwrap();
|
||||
let mut cursor = Cursor::new(10);
|
||||
cursor.set_position(5);
|
||||
assert_eq!(cursor.position, 5);
|
||||
|
||||
@ -99,7 +98,7 @@ mod tests {
|
||||
#[test]
|
||||
fn test_cursor_move_forward() {
|
||||
// from 0 to 9
|
||||
let mut cursor = Cursor::new(10).unwrap();
|
||||
let mut cursor = Cursor::new(10);
|
||||
assert_eq!(cursor.position, 0);
|
||||
cursor.move_forward(3);
|
||||
assert_eq!(cursor.position, 3);
|
||||
@ -111,7 +110,7 @@ mod tests {
|
||||
#[test]
|
||||
fn test_cursor_move_backward() {
|
||||
// from 0 to 9
|
||||
let mut cursor = Cursor::new(10).unwrap();
|
||||
let mut cursor = Cursor::new(10);
|
||||
cursor.move_backward(3);
|
||||
assert_eq!(cursor.position, 0);
|
||||
|
||||
|
@ -42,8 +42,8 @@ impl WindowCursor {
|
||||
}
|
||||
|
||||
Ok(Self {
|
||||
view: Cursor::new(view_size)?,
|
||||
window: Cursor::new(window_size)?,
|
||||
view: Cursor::new(view_size),
|
||||
window: Cursor::new(window_size),
|
||||
})
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user