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.
On macOS the clipboard actually returns an error when loading it and it
is empty. However this is not an `Empty` error but all errors are simple
boxed Errors from std.
Since loading the clipboard data usually should not fail, we now do not
log it as error if it fails but just print it to the debug log instead.
This fixes#2389.
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.