Age | Commit message (Collapse) | Author |
|
|
|
There were two ref tests that were not being run. Oops!
|
|
|
|
When a scroll region is active with the cursor below the bottom of the
region, newlines should not cause the region to scroll.
A ref test was added for this situation to prevent regressions.
Thanks @hiciu for reporting and @nicm for the test case.
Resolves #745.
|
|
|
|
Now pass more vttests as well.
Resolves #123
cc #660 - screenshot there exhibited the problem, but issue is not
entirely about the background problem.
|
|
Padding can be configured by using the `padding` field in the config
file, like so:
padding:
x: 2
y: 2
which would result in a 2px padding within each side of the window.
|
|
Closes #494.
Resolves #529.
Resolves #512.
Resolves #493.
|
|
|
|
Adds implementations for TBC (tabulation clear) and HTS (set horizontal
tabstop).
|
|
|
|
|
|
|
|
Implementing BCE caused a few ref tests to fail erroneously.
|
|
The previous format was extremely difficult for a human to parse.
|
|
Generated with
echo -e "\x1b[48;5;31m1\t2\n\n3\x1b[0;m"
|
|
|
|
|
|
|
|
This doesn't pass, and was mistakenly never actually enabled in the old
ref.rs macro.
|
|
This uses the rustc-test crate, a copy of the standard test crate, to
dynamically create tests for each reference test. No need to remember to
update the macro, just add the directory to ref!
|
|
This test ensures we can enable and disable line wrap.
|
|
and update Cargo.lock
|
|
The identify_terminal function signature had to change to support
writing to the terminal before processing additional input.
|
|
ANSI escape sequences like `\x1b[48;5;10m` were not supported until now.
Specifically, the second attribute, 5, says that the following attribute
is a color index.
The ref tests were updated since `enum Color` variants changed.
|
|
The terminal now has a `renderable_cells()` function that returns a
`RenderableCellIter` iterator. This allows reuse of the cell selection
code by multiple renderers, makes it testable, and makes it
independently optimizable.
The render API now takes an `Iterator<Item=IndexedCell>` to support both
the new renderable cells iterator and the `render_string()` method which
generates its own iterator.
The `vim_large_window_scoll` ref test was added here because it provides
a nice large and busy grid to benchmark the cell selection with.
|
|
json::from_str takes a &str which will auto deref from &String.
|
|
Also adds a feature `err-println` for enabling `err_println!` printing.
|
|
Ref tests use a recording of the terminal protocol and a serialization
of the grid state to check that the parsing and action handling systems
produce the correct result. Ref tests may be recorded by running
alacritty with `--ref-test` and closing the terminal by using the window
"X" button. At that point, the recording is fully written to disk, and a
serialization of important state is recorded. Those files should be
moved to an appropriate folder in the `tests/ref/` tree, and the
`ref_test!` macro invocation should be updated accordingly.
A couple of changes were necessary to make this work:
* Ref tests shouldn't create a pty; the pty was refactored out of the
`Term` type.
* Repeatable lines/cols were needed; on startup, the terminal is resized
* by default to 80x24 though that may be changed by passing
`--dimensions w h`.
* Calculating window size based on desired rows/columns and font metrics
required making load_font callable multiple times.
* Refactor types into library crate so they may be imported in an
integration test.
* A whole bunch of types needed symmetric serialization and
deserialization. Mostly this was just adding derives, but the custom
deserialization of Rgb had to change to a deserialize_with function.
This initially adds one ref test as a sanity check, and more will be
added in subsequent commits. This initial ref tests just starts the
terminal and runs `ll`.
|