aboutsummaryrefslogtreecommitdiff
path: root/alacritty_terminal/src/term
Commit message (Collapse)AuthorAge
* Add alacritty extension script support.HEADrahmJosh Rahm2025-11-12
| | | | | | | | | 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.
* Merge remote-tracking branch 'vendor/master' into graphicsAyose2025-09-07
|\
| * Fix DECOM cursor motionChristian Duerr2025-07-25
| | | | | | | | | | This fixes a missing `GOTO 0,0` when entering the terminal origin mode. Closes #8636.
* | Apply rustfmt.Ayose2025-07-23
| |
* | Merge remote-tracking branch 'vendor/master' into graphicsAyose2025-07-23
|\|
| * Migrate to 2024 editionChristian Duerr2025-07-13
| |
| * Remove cstr! macro in favor of literal notationKirill Chibisov2025-07-01
| | | | | | | | | | Also apply clippy changes while at it. Closes #8002.
| * Fix search for fullwidth chars in the last columnChristian Duerr2025-05-26
| | | | | | | | | | | | | | | | | | | | 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.
* | Merge commit '8cb359ad' into graphicsAyose2025-01-07
|\|
| * Add CSI Ps I supportKirill Chibisov2024-12-28
| | | | | | The implementation is the same as CSI Ps Z, but forward.
* | Merge remote-tracking branch 'vendor/master' into graphicsAyose2024-12-26
|\|
| * Fix vi motion with wide semantic escape charsChristian Duerr2024-11-22
| | | | | | | | | | | | | | 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.
| * Fix racing condition in hint triggeringChristian Duerr2024-11-02
| | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge remote-tracking branch 'vendor/master' into graphicsAyose2024-10-13
|\|
| * Fix highlight invalidation on grid scrollChristian Duerr2024-10-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * Fix fullwidth semantic escape charactersChristian Duerr2024-09-22
| | | | | | | | | | | | | | | | | | | | 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.
| * Improve TermMode bitflags initializationDimitri Sabadie2024-09-07
| |
* | Merge remote-tracking branch 'vendor/master' into graphicsAyose2024-07-29
|\|
| * Fix search bug with wrapline on first characterChristian Duerr2024-07-05
| | | | | | | | | | | | | | | | 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.
| * Fix spelling errorsJosh Soref2024-05-24
| |
* | Merge remote-tracking branch 'vendor/master' into graphicsAyose2024-05-15
|\|
| * Fix window being focused by defaultKirill Chibisov2024-04-18
| | | | | | | | | | | | | | | | | | 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.
| * Fix hint `Select` action for hyperlink escapeChristian Duerr2024-03-12
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge remote-tracking branch 'vendor/master' into graphicsAyose2024-03-11
|\|
| * Fix log typoshuajin tong2024-03-06
| |
* | Include Sixel support in Device Attributes response.Ayose2024-03-04
| | | | | | | | | | | | | | | | 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.
* | Apply clippy suggestions.Ayose2024-02-12
| |
* | Serialize/Deserialize only if the `serde` feature is set.Ayose2024-02-11
| |
* | Merge remote-tracking branch 'vendor/master' into graphicsAyose2024-02-11
|\|
| * Fix inline search expanding across newlinesChristian Duerr2024-01-14
| | | | | | Closes #7587.
| * Fix serde tests without default featuresChristian Duerr2024-01-06
| | | | | | Authored-by: James McCoy <jamessan@jamessan.com>
| * Implement kitty's keyboard protocolKirill Chibisov2023-12-06
| | | | | | | | | | | | | | | | 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.
| * Fix DECRPM reportingKirill Chibisov2023-11-29
| | | | | | | | | | The DECRQM uses `p` to query, but the reply uses `y`. Fixes #7397.
| * Damage only terminal inside `alacritty_terminal`Kirill Chibisov2023-11-23
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * Add support for DECRPM/DECRQMKirill Chibisov2023-11-23
| |
| * Update VTE to 0.13.0Kirill Chibisov2023-11-23
| |
| * Remove `alacritty_config` from alacritty_terminalKirill Chibisov2023-11-10
| | | | | | | | | | 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.
| * Fix clippy warningsPavel Roskin2023-10-29
| |
| * Fix typosPavel Roskin2023-10-25
| |
| * Add inline vi mode searchChristian Duerr2023-10-20
| | | | | | | | | | | | 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.
| * Fix regex patterns allowing for empty stringsChristian Duerr2023-10-09
| | | | | | | | | | | | | | | | | | | | | | 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.
| * Fix regex matches ending on multilineChristian Duerr2023-10-08
| | | | | | | | | | | | | | | | | | | | 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.
| * Update dependenciesChristian Duerr2023-10-08
| | | | | | | | This patch applies all breaking and non-breaking dependency updates and bumps MSRV to 1.70.0.
| * Fix regex memory usageChristian Duerr2023-09-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * Fix crash with anchored searchesChristian Duerr2023-08-31
| | | | | | | | While this does **not** enable the use of anchors (`^`) in user regexes, it does prevent Alacritty from crashing when attempting to do so.
| * Update regex-automata to v0.3.6Christian Duerr2023-08-27
| | | | | | This seems like a sensible first step before looking into #7097.
| * Add `terminal` config section to control OSCs Kirill Chibisov2023-07-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Switch to VTE's built-in ansi featureAnhad Singh2023-05-23
| | | | | | Co-authored-by: Christian Duerr <contact@christianduerr.com>
| * Update bitflags to 2.2.1Kirill Chibisov2023-05-17
| |
| * Fix selection rotation on the last lineChristian Duerr2023-03-24
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.