| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
The crate containing the entry point is called alacritty, and the crate
containing everything else is called alacritty_terminal.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Alacritty will now automatically reflow lines and shrink them when they
would usually exceed the new width of the terminal instead of
truncation.
If a line had to be truncated, it will also be reflown into the previous
line after growing the terminal width.
The reflow behavior when not at the bottom of the history is similar to
that of VTE and aims to keep the viewport stationary whenever possible.
Opposed to VTE, reflow will also be performed in the alternate screen
buffer.
There will be bugs when resizing the terminal emulator to a size smaller
than the prompt, though these issues were present in all terminal
emulators with reflow support.
This fixes #591.
|
|
|
|
|
| |
This makes use of the new rectangle rendering methods used to display
the colored visual bell to add proper underline and strikeout support to
Alacritty.
|
|
|
|
|
|
|
|
|
|
| |
This resolves issues with copy-pasting tabs by including them in the
pasted string.
Selection of tabs is still inconsistent with what might be expected
based on other terminal emulators, however the behavior hasn't
regressed.
This fixes https://github.com/jwilm/alacritty/issues/219.
|
|
|
|
|
| |
This resolves a lot of NLL issues, however full NLL will be necessary to
handle a couple of remaining issues.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of rendering zero-width characters as full characters, they are
now properly rendered without advancing the cursor.
Because of performance limitations, this implementation only supports up
to 5 zero-width characters per cell. However, as a result of this
limitation there should not be any performance impact.
This fixes #1317, fixes #696 and closes #1318.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds support for the `hidden` escape sequence `\e[8m`, which will
render the text as invisible.
This has also raised a few questions about the rendering of foreground
and background colors and their interaction with the different escape
sequences. Previously, Alacritty has oriented itself after URxvt, which
has some strange and unexpected behavior.
The new implementation of color inversion is modeled after XTerm, which
has a consistent pattern of always inverting the foreground and
background colors. This should hopefully lead to less confusion for the
user and a more consistent behavior.
A full matrix showcasing the new way Alacritty inverses text can be
found here:
https://i.imgur.com/d1XavG7.png
This fixes #1454 and fixes #1455.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Unwrapping inside the config file parsing can lead to some issues that
prevent us from falling back to a default configuration file.
One instance of that issue was mentioned in #1135.
Now all instances of `unwrap()` have been removed and replaced with
proper error handling. This will make the config more robust and
prevents live reload from silently breaking while alacritty is running.
This also fixes a few currently existing clippy issues.
Clippy added an additonal lint which complains about `MyStruct { field:
field }`.
These issues have been fixed, except for some false-positives and issues
in external macros which will probably be fixed with future updates (rust-lang-nursery/bitflags#149)
|
|
|
|
| |
This commit adds clippy as a required step of the build process. To make
this possible, all existing clippy issues have been resolved.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Add support for the VTE 'dim' flag, with additional support for
custom-themed dim colors. If no color is specified in the config, it
will default to 2/3 the previous (not a spec, but the value other
terminals seem to use).
The actual dimming behavior brings bright colors to normal and regular
colors to the new dim ones. Custom RGB values are not changed, nor are
non-named indexed colors.
|
|
|
| |
Fixes #611.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Notable about this implementation is it takes a different approach for
managing cursor cells that previously. The terminal Grid is now
borrowed *immutably*. Instead of mutating Cells in the Grid, a list is
managed within the RenderableCellsIter. The cell at the cursor location
is skipped over, and instead cells are popped off a list of cursor
cells.
It would be good in the future to share some more code between the
different cursor style implementations for populating the cursor cells
list.
Supercedes #349.
|
| |
|
|
|
|
| |
This fixes rendering underlines spanning multiple words.
|
| |
|
| |
|
| |
|
|
|
|
| |
Also adds a benchmark for cell.reset().
|
|
|
|
| |
Just a bit of cleanup.
|
|
|
|
|
|
| |
Long lines were previously broken at the terminal width. Now, a wrapping
marker is kept on the final cell so that extra newlines are not
inserted.
|
|
|
|
| |
Still need automatic loading into selection copy buffer for linux.
|
|
|
|
|
|
|
|
| |
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 cell module was previously implemented within term.rs. Now each
module has its own file.
|