summaryrefslogtreecommitdiff
path: root/alacritty_terminal/src/ansi.rs
AgeCommit message (Collapse)Author
2019-11-17Fix ESC escapes not ignoring invalid intermediatesKirill Chibisov
Previously, `ESC` escapes would ignore invalid intermediates and still execute the specified actions, leading to false positives. If there's an unexpected, intermediate specified now, the escape will be dropped. This also fixes an issue with `CSI Ps c` not dropping the escape with invalid intermediates.
2019-11-17Fix cell reset not clearing flags and foregroundKirill Chibisov
Fixes #2330.
2019-11-11Add escape for reading clipboardChristian Duerr
2019-11-04Add UTF-8 mouse mode supportKirill Chibisov
Fixes #1934.
2019-11-03Fix URL highlightingChristian Duerr
Fixes #2898. Fixes #2479.
2019-10-15Add support for alternate scroll escapeAleksey Kuznetsov
Fixes #2727.
2019-10-14Add support for title stack escape sequencesDustin
This commit adds the concept of a "title stack" to the terminal. Some programs (e.g. vim) send control sequences `CSI 22 ; 0` (push title) and `CSI 23 ; 0` (pop title). The title stack is just a history of previous titles. Applications can push the current title onto the stack, and pop it back off (setting the window title in the process). Fixes #2840.
2019-10-05Update to winit/glutin EventLoop 2.0Christian Duerr
This takes the latest glutin master to port Alacritty to the EventLoop 2.0 rework. This changes a big part of the event loop handling by pushing the event loop in a separate thread from the renderer and running both in parallel. Fixes #2796. Fixes #2694. Fixes #2643. Fixes #2625. Fixes #2618. Fixes #2601. Fixes #2564. Fixes #2456. Fixes #2438. Fixes #2334. Fixes #2254. Fixes #2217. Fixes #1789. Fixes #1750. Fixes #1125.
2019-09-28Concatenate parameters of title OSCPaolo Capriotti
A semicolon in a title OSC should be interpreted literally, not as a parameter separator, but the OSC parser is very simple and does not know about arities of commands. Therefore, this patch takes all the parameters returned by the OSC parser and reconstructs the original string by interspersing semicolons. Now an OSC like '\e]2;hello;world' will set the title to 'hello;world' and not 'hello' like before.
2019-09-26Fix overflow on wrong scroll region settingKirill Chibisov
Fixes #2822.
2019-08-28Fix legacy xparsecolor regressionChristian Duerr
The legacy xparsecolor implementation assumed that the \007 ending would be passed to the parser, however it never is. This caused colors in the format #rrggbb to be interpreted as #rrggb, leading to incorrect colors showing up in Alacritty. Fixes #2759.
2019-08-24Show text cursor when pressing shift in mouse modeJohn Sullivan
Fixes #2550.
2019-08-19Follow xparsecolor spec in escape sequencesrbong
Escape sequences in xterm are parsed according to xparsecolor. xparsecolor supports 1, 2, 3, and 4 digit hex colors. Previously, only 2 digits were supported. This also fixes a bug where "fX" was parsed as "0xf", where X is an invalid character. The response to a request for fg/bg must be a valid escape sequence. The current response uses 4-digit hex, which was previously invalid.
2019-08-16Fix clippy issuesChristian Duerr
2019-08-08Format codeChristian Duerr
2019-08-06Ignore unsupported CSI sequencesKoichi Murase
Instead of ignoring unexpected intermediates in CSI escape sequences, the intermediates are now explicitly checked and the escape sequence is rejected when an unexpected intermediate is found. Fixes #2171.
2019-07-10Fix cursor color setting with escape sequenceKirill Chibisov
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: cfc20d4f34dca535654cc32df18e785296af4cc5 371d13f8ef95157c97f7de9964bcbc89d4a8e930 0d060d5d801e3abb55035269138d819d38fc175b
2019-06-18Fix redundant static lifetime clippy lintMatthias Krüger
2019-06-09Fix dynamic multi-color escape codesKevin Zheng
2019-06-02Add foreground/background request escape codesrbong
2019-04-28Split alacritty into a separate cratesTheodore Dubois
The crate containing the entry point is called alacritty, and the crate containing everything else is called alacritty_terminal.