ladybird/Kernel/TTY
Daniel Bertalan ae6bdc4e29 LibVT+Kernel: Clean up scroll API
This commit cleans up some of the `#ifdef`-ed code smell in
`Terminal`, by extending the scroll APIs to take a range of lines as a
parameter. This makes it possible to use the same code for `IL`/`DL` as
for scrolling.

Note that the current scrolling implementation is very naive, and does
many insertions/deletions in the middle of arrays, whereas swaps should
be enough. This optimization will come in a later commit.

The `linefeed` override was removed from `VirtualConsole`. Previously,
it exhibited incorrect behavior by moving to column 0. Now that we use
the method defined in `Terminal`, code which relied on this behavior
stopped working. We go instead go through the TTY layer which handles
the various output flags. Passing the input character-by-character
seems a bit excessive, so a fix for it will come in another PR.
2021-06-10 17:18:02 +02:00
..
ConsoleManagement.cpp Kernel: Fix crash when switching to console 5 & 6 2021-05-31 17:42:21 +01:00
ConsoleManagement.h Kernel: Fix crash when switching to console 5 & 6 2021-05-31 17:42:21 +01:00
MasterPTY.cpp Kernel: Don't use ref_count() in MasterPTY::close() 2021-05-01 23:04:40 +02:00
MasterPTY.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
PTYMultiplexer.cpp Kernel: static vs non-static constexpr variables 2021-05-19 21:21:47 +01:00
PTYMultiplexer.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
SlavePTY.cpp Kernel: Make UserOrKernelBuffer R/W helpers return KResultOr<size_t> 2021-05-13 23:28:40 +02:00
SlavePTY.h Kernel: Avoid unnecessary allocations for TTY::tty_name() 2021-05-13 08:27:42 +02:00
TTY.cpp Kernel: Perform output processing on echo 2021-06-05 13:01:39 +02:00
TTY.h LibVT+Kernel: Clean up scroll API 2021-06-10 17:18:02 +02:00
VirtualConsole.cpp LibVT+Kernel: Clean up scroll API 2021-06-10 17:18:02 +02:00
VirtualConsole.h LibVT+Kernel: Clean up scroll API 2021-06-10 17:18:02 +02:00