| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
|
| |
This allows an escape code to invoke user-defined extensions found in
/home/rahm/.local/bin/alacritty-ext.sh. The terminal passes to this
script the escape-code arguments.
This allows things like opening links in the browser even through an ssh
connection.
|
| |\ |
|
| | |
| |
| |
| |
| | |
This fixes a missing `GOTO 0,0` when entering the terminal origin mode.
Closes #8636.
|
| | | |
|
| |\| |
|
| | | |
|
| | |
| |
| |
| |
| | |
Also apply clippy changes while at it.
Closes #8002.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This fixes an issue for fullwidth characters where the `WRAPLINE` flag
would be checked for the cell containing the wide character, ignoring
the spacer after it.
To work around this, the wrapline character is now always checked based
on the cell *after* fullwidth expansion, instead of the original cell.
Closes #8586.
|
| |\| |
|
| | |
| |
| | |
The implementation is the same as CSI Ps Z, but forward.
|
| |\| |
|
| | |
| |
| |
| |
| |
| |
| | |
This patch fixes an issue where the semantic vi motion commands
`SemanticRight` and `SemanticLeft` were not behaving as expected when a
fullwidth character was used as a semantic character.
Closes #8314.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This fixes an issue with hints where it was possible that the terminal
content of highlighted hints changed between the highlighted hint update
and the activation of the hint.
This patch always validates the hint's text content against the hint
itself to ensure that the content is still valid for the original hint
which triggered the highlight.
Closes #8277.
|
| |\| |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This fixes an issue where hints highlighted by vi or mouse cursor would
produce an underline on the incorrect line since the highlights only
store the initial match boundaries without accounting for new content
scrolling the terminal.
To accurately invalidate the hint highlights, we use existing damage
information of the current frame. The existing logic to damage hints for
the next frame to account for removal has been changed, since the hints
would otherwise be cleared immediately. Instead we now mark the terminal
as fully damaged for the upcoming frame whenever the hints are cleared.
Closes #7737.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Semantic escape characters occupying two two grid cells were always
skipped over, making it impossible to have functional fullwidth
characters as part of semantic escape characters.
This patch fixes this by only skipping over fullwidth spacer cells,
rather than skipping those cells entirely.
Closes #8188.
|
| | | |
|
| |\| |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
This fixes an issue where an inline search in the left direction would
incorrectly assume that the first cell searched would not contain the
`WRAPLINE` flag, causing the second search for the match end to
terminate prematurely.
Fixes #8060.
|
| | | |
|
| |\| |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Winit explicitly states that the window is not focused by default and
the `Focused` event will deliver the state later on.
Also start adding notable changes to alacritty_terminal in its own
CHANGELOG.
Closes #7866.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This fixes an issue where the `Select` action for hyperlink escape text
would select the entire line, instead of selecting only the hyperlink
itself.
It also changes the way hyperlinks with the same ID are highlighted,
removing the restriction of being on consecutive lines and instead
highlighting all visible cells that correspond to the matching
hyperlink.
Closes #7766.
|
| |\| |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
The response for `\e[c` (Send Device Attributes) now returns level 2 with the
Sixel extension.
The other extensions are 6 (Selectively Erasable Characters) and 22 (Color Text).
The values are documented in page 04-19 of DEC-STD-070.
|
| | | |
|
| | | |
|
| |\| |
|
| | |
| |
| | |
Closes #7587.
|
| | |
| |
| | |
Authored-by: James McCoy <jamessan@jamessan.com>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
The protocol enables robust key reporting for the applications, so
they could bind more keys and the user won't have collisions with
the normal control keys.
Links: https://sw.kovidgoyal.net/kitty/keyboard-protocol
Fixes #6378.
|
| | |
| |
| |
| |
| | |
The DECRQM uses `p` to query, but the reply uses `y`.
Fixes #7397.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The damage tracking was including selection and vi_cursor which were
rendering viewport related, however all the damage tracking inside
the `alacritty_terminal` was _terminal viewport_ related, meaning that
it should be affected by `display_offset`.
Refactor the damage tracking so `alacritty_terminal` is only tracking
actual terminal updates and properly applying display offset to them,
while `alacritty` pulls this damage into its own UI damage state.
Fixes #7111.
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| | |
There's no need to force alacritty's user configuration on
other users of the crate, thus provide the options actually used
by alacritty_terminal itself.
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
This patch adds inline search to vi mode using `f`/`F` and `t`/`T` as
default bindings. The behavior matches that of vim.
Fixes #7203.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch changes the mode we search for patterns which allow an empty
string, by anchoring all searches. As a result we will match the longest
possible match when multiple patterns are present (like `;*|rust`),
instead of using the leftmost pattern only.
This is only possible with empty matches since our parser is reset on
every byte anyway, so anchoring the search makes no difference.
Fixes #7276.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This fixes an issue where the reverse search for the regex start would
truncate a character when ending on a newline, since it was omitting the
EOI check in that case.
This also fixes a separate issue which caused regexes which capture
empty strings (e.g.: `.*`) to always report a match.
This is a regression introduced in 73276b6.
|
| | |
| |
| |
| | |
This patch applies all breaking and non-breaking dependency updates
and bumps MSRV to 1.70.0.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This fixes an issue where regexes with a large number of possible states
would consume excessive memory, since the entire DFA was compiled ahead
of time.
To solve this, the DFA is now built at runtime using `regex-automata`'s
hybrid DFA.
There are however still some checks performed ahead of time, causing
errors with obscenely large regexes (`[0-9A-Za-z]{999999999}`), which
shouldn't cause any issues.
A regex which is large, but not large enough to fail the NFA
construction (like `[0-9A-Za-z]{999999}`) will cause a long search of
the entire grid, but will complete and show the match.
Closes #7097.
|
| | |
| |
| |
| | |
While this does **not** enable the use of anchors (`^`) in user regexes,
it does prevent Alacritty from crashing when attempting to do so.
|
| | |
| |
| | |
This seems like a sensible first step before looking into #7097.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Some environments demand certain OSC sequences to be disabled or
some escape sequence could require handling which is out of scope
of alacritty, but could be done by external script (OSC 777).
Added section for now just handles the `OSC 52` sequence and changes
its default to be `OnlyCopy`, which is handy for remote copy, but
`Paste` is redundant because normal `Paste` hotkey could be used as
well.
Fixes #3386.
Co-authored-by: Christian Duerr <contact@christianduerr.com>
|
| | |
| |
| | |
Co-authored-by: Christian Duerr <contact@christianduerr.com>
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This fixes an issue with terminal resizes when the selection is on the
last line. Alacritty would fail to rotate lines and keep the selection
in the same line index whenever the terminal line count was grown or
shrunk.
This issue occurred due to the range passed to the selection's rotate
function still being based on the old terminal size, which caused the
initial or target state of the rotation to be outside of the terminal
bounds.
Closes #6698.
|