The cursor rework introduced a regression where cursor color was always picked
from a config file, rather then using `ansi::NamedColor::Cursor` for this
purpose.
This commit also removes `CursorText` option from `NamedColor` enum,
since we can't speculate with `CursorText` during runtime.
Cursor rework commits:
cfc20d4f34371d13f8ef0d060d5d80
This commit fixes regression introduced in cfc20d4f34.
`self.cursor.line` forced the cursor to hold a fixed location while scrolling
until its "original" location (usually the shell prompt) went off the screen.
So cursor position should be keep updated, which can be achieved by using
`self.inner.line()`.
Fixes#2570.
This implements a block selection mode which can be triggered by holding
Control before starting a selection.
If text is copied using this block selection, newlines will be
automatically added to the end of the lines.
This fixes#526.
The dynamic color escape response would answer to requests with
rgb:0/0/0 when the color was completely black, instead of properly
responding with double-digit hex colors. This has been changed so that
Alacritty now always properly responds with the same number of hex
digits for all colors.
The number of digits has also been changed from two to four digits per
color, since that is the more commonly used format.
Using the `write!` macro was also causing problems with NeoVim,
since it caused Alacritty to write the dynamic color escape in multiple
write calls, switching to `write_all` fixed that.
Fixes#2543.
This reworks the selection logic to prevent any possible index out of
bounds exceptions by clamping the start and end points before doing
anything else with them when converting selections to spans.
This also fixes a bug where semantic selections would not automatically
expand across double-width characters.
Fixes#2486.
This is a large refactor of the config parsing structure, attempting to
reduce the size of the file a bit by splitting it up into different
modules with more specific purposes.
This also fixes#2279.
This switches our own `copypasta` crate with the more standardized
`clipboard` library, which allows us to get rid of the `xclip`
dependency on X11.
Additionally, this lays the foundation for native Wayland clipboard
support once the clipboard crate is updated (or a fork is created).
Fixes#5.