From 988ce9dce47d485e02dbde35573de3d14065b27e Mon Sep 17 00:00:00 2001 From: Danny Weinberg Date: Mon, 17 Apr 2023 13:08:26 -0700 Subject: Add support for CSI E/F (next and previous line) This adds support for the following two operations: - https://vt100.net/docs/vt510-rm/CNL.html - https://vt100.net/docs/vt510-rm/CPL.html While it looks like these weren't technically implemented in the vt100, it does seem that a number of modern terminals (iTerm2, Windows Terminal, as two examples) support them. --- tests/data/fixtures/relative_movement.in | 4 ++++ tests/data/fixtures/relative_movement/18.json | 13 +++++++++++++ tests/data/fixtures/relative_movement/18.typescript | 1 + tests/data/fixtures/relative_movement/19.json | 13 +++++++++++++ tests/data/fixtures/relative_movement/19.typescript | 1 + tests/data/fixtures/relative_movement/20.json | 13 +++++++++++++ tests/data/fixtures/relative_movement/20.typescript | 1 + tests/data/fixtures/relative_movement/21.json | 13 +++++++++++++ tests/data/fixtures/relative_movement/21.typescript | 1 + 9 files changed, 60 insertions(+) create mode 100644 tests/data/fixtures/relative_movement/18.json create mode 100644 tests/data/fixtures/relative_movement/18.typescript create mode 100644 tests/data/fixtures/relative_movement/19.json create mode 100644 tests/data/fixtures/relative_movement/19.typescript create mode 100644 tests/data/fixtures/relative_movement/20.json create mode 100644 tests/data/fixtures/relative_movement/20.typescript create mode 100644 tests/data/fixtures/relative_movement/21.json create mode 100644 tests/data/fixtures/relative_movement/21.typescript (limited to 'tests') diff --git a/tests/data/fixtures/relative_movement.in b/tests/data/fixtures/relative_movement.in index 1e744f5..f8339af 100644 --- a/tests/data/fixtures/relative_movement.in +++ b/tests/data/fixtures/relative_movement.in @@ -15,3 +15,7 @@ \x1b[500B \x1b[500A \x1b[24;80H\x1b[1ma\x1b[A +\x1b[5;5H\x1b[3F +\x1b[5;5H\x1b[F +\x1b[5;5H\x1b[3E +\x1b[5;5H\x1b[E diff --git a/tests/data/fixtures/relative_movement/18.json b/tests/data/fixtures/relative_movement/18.json new file mode 100644 index 0000000..8dde982 --- /dev/null +++ b/tests/data/fixtures/relative_movement/18.json @@ -0,0 +1,13 @@ +{ + "contents": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n a", + "cells": { + "23,79": { + "contents": "a", + "bold": true + } + }, + "cursor_position": [ + 1, + 0 + ] +} \ No newline at end of file diff --git a/tests/data/fixtures/relative_movement/18.typescript b/tests/data/fixtures/relative_movement/18.typescript new file mode 100644 index 0000000..300ac2e --- /dev/null +++ b/tests/data/fixtures/relative_movement/18.typescript @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/tests/data/fixtures/relative_movement/19.json b/tests/data/fixtures/relative_movement/19.json new file mode 100644 index 0000000..f151bb2 --- /dev/null +++ b/tests/data/fixtures/relative_movement/19.json @@ -0,0 +1,13 @@ +{ + "contents": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n a", + "cells": { + "23,79": { + "contents": "a", + "bold": true + } + }, + "cursor_position": [ + 3, + 0 + ] +} \ No newline at end of file diff --git a/tests/data/fixtures/relative_movement/19.typescript b/tests/data/fixtures/relative_movement/19.typescript new file mode 100644 index 0000000..6dfedc0 --- /dev/null +++ b/tests/data/fixtures/relative_movement/19.typescript @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/tests/data/fixtures/relative_movement/20.json b/tests/data/fixtures/relative_movement/20.json new file mode 100644 index 0000000..479a1bd --- /dev/null +++ b/tests/data/fixtures/relative_movement/20.json @@ -0,0 +1,13 @@ +{ + "contents": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n a", + "cells": { + "23,79": { + "contents": "a", + "bold": true + } + }, + "cursor_position": [ + 7, + 0 + ] +} \ No newline at end of file diff --git a/tests/data/fixtures/relative_movement/20.typescript b/tests/data/fixtures/relative_movement/20.typescript new file mode 100644 index 0000000..17d2b03 --- /dev/null +++ b/tests/data/fixtures/relative_movement/20.typescript @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/tests/data/fixtures/relative_movement/21.json b/tests/data/fixtures/relative_movement/21.json new file mode 100644 index 0000000..ab71e23 --- /dev/null +++ b/tests/data/fixtures/relative_movement/21.json @@ -0,0 +1,13 @@ +{ + "contents": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n a", + "cells": { + "23,79": { + "contents": "a", + "bold": true + } + }, + "cursor_position": [ + 5, + 0 + ] +} \ No newline at end of file diff --git a/tests/data/fixtures/relative_movement/21.typescript b/tests/data/fixtures/relative_movement/21.typescript new file mode 100644 index 0000000..b704ed4 --- /dev/null +++ b/tests/data/fixtures/relative_movement/21.typescript @@ -0,0 +1 @@ + \ No newline at end of file -- cgit v1.2.3-54-g00ecf