aboutsummaryrefslogtreecommitdiff
path: root/src/ansi.rs
Commit message (Collapse)AuthorAge
* Add additional arbitrary script handler.HEADrahmJosh Rahm2025-02-05
| | | | This is a custom extension OSC 117.
* Replace `no_std` with `std` featureChristian Duerr2025-01-27
| | | | | | | | | | | | | The `no_std` feature has been broken since version `0.14`, since it did not disable the `std` feature of `memchr`. To fall more in line with the general ecosystem standards, this crate changes the `no_std` feature into an `std` feature. Since `vte` should be significantly faster with this feature, it has also been enabled by default (previously `no_std` was default). This is a breaking change, even if we ignore `no_std` consumers which aren't able to compile 0.14, since intermediate dependencies relying on the `no_std` feature will have to remove it from the manifest.
* Add support for DECST8CAyman Bagabas2025-01-17
| | | See https://vt100.net/docs/vt510-rm/DECST8C.html.
* Switch parser to multi-byte processingChristian Duerr2025-01-09
| | | | | | | | | | | | | | | | | | | | | This patch overhauls the `Parser::advance` API to operate on byte slices instead of individual bytes, which allows for additional performance optimizations. VTE does not support C1 escapes and C0 escapes always start with an escape character. This makes it possible to simplify processing if a byte stream is determined to not contain any escapes. The `memchr` crate provides a battle-tested implementation for SIMD-accelerated byte searches, which is why this implementation makes use of it. VTE also only supports UTF8 characters in the ground state, which means that the new non-escape parsing path is able to rely completely on STD's `str::from_utf8` since `memchr` gives us the full length of the plain text character buffer. This allows us to completely remove `utf8parse` and all related code. We also make use of `memchr` in the synchronized escape handling in `ansi.rs`, since it relies heavily on scanning large amounts of text for the extension/termination escape sequences.
* Improve attrs_from_sgr_parameters performanceKirill Chibisov2024-12-29
| | | | Instead of collecting all the data into the vector just dispatch it right away avoiding allocations.
* Add SCP control supportMohammad AlSaleh2024-04-01
| | | | | | | | | | Modern usage of this control function comes from the BiDi draft proposal: https://terminal-wg.pages.freedesktop.org/bidi/recommendation/escape-sequences.html The draft slightly extends the definition in ECMA-48. Signed-off-by: Mohammad AlSaleh <CE.Mohammad.AlSaleh@gmail.com>
* Add support for DECRQM/DECRPMKirill Chibisov2023-11-17
| | | Fixes #100.
* Split-out `PrivateMode` from 'Mode'Kirill Chibisov2023-11-17
| | | | | | The modes could overlap and there's also no way to actually forward information about unhandled modes downstream, thus split the modes into 2 separate structures and pass unhandled modes.
* Reexport cursor_icon crateKirill Chibisov2023-11-15
|
* Add support for xterm's modifyOtherKeys CSIKirill Chibisov2023-09-26
| | | | | | | | Given that an example of the translation table is not present by xterm and they provide only script to generate one from the running X11 system, the example of the output is also included in the repository now. Co-authored-by: Christian Duerr <contact@christianduerr.com>
* Switch sync escape from DCS to CSIChristian Duerr2023-09-19
| | | See alacritty/alacritty#6845.
* Add support for kitty keyboard protocolKirill Chibisov2023-08-10
| | | | | | This just adds handling of the CSI u escapes mentioned in the spec and don't provide key to escape sequence transformation for the terminals. Links: https://sw.kovidgoyal.net/kitty/keyboard-protocol
* Add support for OSC 22Kirill Chibisov2023-08-07
|
* Bump rust-version to match actual MSRVDirkjan Ochtman2023-05-26
|
* Add ansi color contrast tests forAnhad Singh2023-05-18
|
* Migrate `ansi` from `alacritty_terminal`Anhad Singh2023-05-14
Signed-off-by: Andy-Python-Programmer <andypythonappdeveloper@gmail.com> Signed-off-by: Anhad Singh <andypythonappdeveloper@gmail.com> Co-authored-by: Nicholas Sim <nsim@posteo.net> Co-authored-by: Christian Duerr <contact@christianduerr.com>