alacritty/docs/escape_support.md

115 lines
7.6 KiB
Markdown

# Escape Sequence Support
This list includes all escape sequences Alacritty currently supports.
### Legend
The available statuses are `PARTIAL`, `IMPLEMENTED` and `REJECTED`. While a
status of `PARTIAL` means there is still work left to be done, a status of
`IMPLEMENTED` for something partially implemented means all other features were
rejected.
All whitespace in escape sequences is solely for formatting purposes and all
relevant spaces are denoted as `SP`. The escape parameters are omitted for
brevity.
### ESC codes - `ESC`
| ESCAPE | STATUS | NOTE |
| --------- | ----------- | -------------------------------------------------- |
| `ESC (` | IMPLEMENTED | Only charsets `B` and `0` are supported |
| `ESC )` | IMPLEMENTED | Only charsets `B` and `0` are supported |
| `ESC *` | IMPLEMENTED | Only charsets `B` and `0` are supported |
| `ESC +` | IMPLEMENTED | Only charsets `B` and `0` are supported |
| `ESC =` | IMPLEMENTED | |
| `ESC >` | IMPLEMENTED | |
| `ESC 7` | IMPLEMENTED | |
| `ESC 8` | IMPLEMENTED | |
| `ESC # 8` | IMPLEMENTED | |
| `ESC D` | IMPLEMENTED | |
| `ESC E` | IMPLEMENTED | |
| `ESC H` | IMPLEMENTED | |
| `ESC M` | IMPLEMENTED | |
| `ESC Z` | IMPLEMENTED | |
### CSI (Control Sequence Introducer) - `ESC [`
| ESCAPE | STATUS | NOTE |
| ---------- | ----------- | ------------------------------------------------- |
| ``CSI ` `` | IMPLEMENTED | |
| `CSI @` | IMPLEMENTED | |
| `CSI A` | IMPLEMENTED | |
| `CSI a` | IMPLEMENTED | |
| `CSI B` | IMPLEMENTED | |
| `CSI b` | IMPLEMENTED | |
| `CSI C` | IMPLEMENTED | |
| `CSI c` | IMPLEMENTED | |
| `CSI D` | IMPLEMENTED | |
| `CSI d` | IMPLEMENTED | |
| `CSI E` | IMPLEMENTED | |
| `CSI e` | IMPLEMENTED | |
| `CSI F` | IMPLEMENTED | |
| `CSI f` | IMPLEMENTED | |
| `CSI G` | IMPLEMENTED | |
| `CSI g` | IMPLEMENTED | |
| `CSI H` | IMPLEMENTED | |
| `CSI h` | PARTIAL | Only modes `4` and `20` are supported |
| `CSI ? h` | PARTIAL | Supported modes: |
| | | `1`, `3`, `6`, `7`, `12`, `25`, `1000`, `1002` |
| | | `1004`, `1005`, `1006`, `1007`, `1042`, `1049` |
| | | `2004` `2026` |
| `CSI I` | IMPLEMENTED | |
| `CSI J` | IMPLEMENTED | |
| `CSI K` | IMPLEMENTED | |
| `CSI L` | IMPLEMENTED | |
| `CSI l` | PARTIAL | See `CSI h` for supported modes |
| `CSI ? l` | PARTIAL | See `CSI ? h` for supported modes |
| `CSI M` | IMPLEMENTED | |
| `CSI m` | IMPLEMENTED | Supported parameters: |
| | | `0`-`9`, `21`-`25`, `27`-`49`, `58`, `59` |
| | | `90`-`97`, `100`-`107` |
| | REJECTED | `11`-`19`, `51`-`55` |
| `CSI n` | IMPLEMENTED | |
| `CSI P` | IMPLEMENTED | |
| `CSI $ p` | IMPLEMENTED | |
| `CSI ? $ p`| IMPLEMENTED | |
| `CSI SP q` | IMPLEMENTED | |
| `CSI r` | IMPLEMENTED | |
| `CSI S` | IMPLEMENTED | |
| `CSI s` | IMPLEMENTED | |
| `CSI T` | IMPLEMENTED | |
| `CSI t` | PARTIAL | Only parameters `22` and `23` are supported |
| | REJECTED | `1`-`13`, `15`, `19`-`21`, `24` |
| `CSI u` | IMPLEMENTED | |
| `CSI ? u` | IMPLEMENTED | |
| `CSI = u` | IMPLEMENTED | |
| `CSI < u` | IMPLEMENTED | |
| `CSI > u` | IMPLEMENTED | |
| `CSI X` | IMPLEMENTED | |
| `CSI Z` | IMPLEMENTED | |
### OSC (Operating System Command) - `ESC ]`
| ESCAPE | STATUS | NOTE |
| --------- | ----------- | -------------------------------------------------- |
| `OSC 0` | IMPLEMENTED | Icon names are not supported |
| `OSC 1` | REJECTED | Icon names are not supported |
| `OSC 2` | IMPLEMENTED | |
| `OSC 4` | IMPLEMENTED | |
| `OSC 8` | IMPLEMENTED | |
| `OSC 10` | IMPLEMENTED | |
| `OSC 11` | IMPLEMENTED | |
| `OSC 12` | IMPLEMENTED | |
| `OSC 50` | IMPLEMENTED | Only `CursorShape` is supported |
| `OSC 52` | IMPLEMENTED | Only Clipboard and primary selection supported |
| `OSC 104` | IMPLEMENTED | |
| `OSC 110` | IMPLEMENTED | |
| `OSC 111` | IMPLEMENTED | |
| `OSC 112` | IMPLEMENTED | |
### DCS (Device Control String) - `ESC P`
| ESCAPE | STATUS | NOTE |
| --------- | ----------- | -------------------------------------------------- |
| `DCS = s` | REJECTED | CSI ? 2026 h/l are used instead |