diff --git a/crates/nu-command/src/platform/ansi/ansi_.rs b/crates/nu-command/src/platform/ansi/ansi_.rs index 4e40f7df3f..143bbc9ac1 100644 --- a/crates/nu-command/src/platform/ansi/ansi_.rs +++ b/crates/nu-command/src/platform/ansi/ansi_.rs @@ -466,6 +466,14 @@ static CODE_LIST: LazyLock> = LazyLock::new(|| { vec![ // Cursor position in ESC [ ;R where r = row and c = column AnsiCode{ short_name: None, long_name:"cursor_position", code: "\x1b[6n".to_string()}, + // Move cursor one character left + AnsiCode{ short_name: None, long_name:"cursor_left", code: "\x1b[D".to_string()}, + // Move cursor one character right + AnsiCode{ short_name: None, long_name:"cursor_right", code: "\x1b[C".to_string()}, + // Move cursor one line up + AnsiCode{ short_name: None, long_name:"cursor_up", code: "\x1b[A".to_string()}, + // Move cursor one line down + AnsiCode{ short_name: None, long_name:"cursor_down", code: "\x1b[B".to_string()}, // Report Terminal Identity AnsiCode{ short_name: None, long_name:"identity", code: "\x1b[0c".to_string()}, diff --git a/crates/nu-command/tests/commands/platform/ansi_.rs b/crates/nu-command/tests/commands/platform/ansi_.rs index c7bea5cafb..7ee80ffe9d 100644 --- a/crates/nu-command/tests/commands/platform/ansi_.rs +++ b/crates/nu-command/tests/commands/platform/ansi_.rs @@ -11,7 +11,7 @@ fn test_ansi_shows_error_on_escape() { fn test_ansi_list_outputs_table() { let actual = nu!("ansi --list | length"); - assert_eq!(actual.out, "425"); + assert_eq!(actual.out, "429"); } #[test]