mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-08-02 14:57:31 +03:00
lots more sequences
This commit is contained in:
@ -17,7 +17,7 @@ Status meanings:
|
|||||||
in the face of it (probably in some broken state).
|
in the face of it (probably in some broken state).
|
||||||
* 💥 - Ghostty crashes if this control sequence is sent.
|
* 💥 - Ghostty crashes if this control sequence is sent.
|
||||||
|
|
||||||
| Seq | ASCII | Name | Status |
|
| ID | ASCII | Name | Status |
|
||||||
|:---:|:-----:|:-----|:------:|
|
|:---:|:-----:|:-----|:------:|
|
||||||
| `ENQ` | `0x05` | [Enquiry](sequences/enq.md) | ✅ |
|
| `ENQ` | `0x05` | [Enquiry](sequences/enq.md) | ✅ |
|
||||||
| `BEL` | `0x07` | [Bell](sequences/bel.md) | ❌ |
|
| `BEL` | `0x07` | [Bell](sequences/bel.md) | ❌ |
|
||||||
@ -31,3 +31,12 @@ Status meanings:
|
|||||||
| `SI` | `0x0F` | [Shift In](#) | ❌ |
|
| `SI` | `0x0F` | [Shift In](#) | ❌ |
|
||||||
| `CAN` | `0x18` | [Cancel Parsing](sequences/can.md) | ✅ |
|
| `CAN` | `0x18` | [Cancel Parsing](sequences/can.md) | ✅ |
|
||||||
| `SUB` | `0x1A` | [Cancel Parsing (Alias)](sequences/can.md) | ✅ |
|
| `SUB` | `0x1A` | [Cancel Parsing (Alias)](sequences/can.md) | ✅ |
|
||||||
|
| `IND` | `ESC D` | [Index](sequences/ind.md) | ✅ |
|
||||||
|
| `NEL` | `ESC E` | [Next Line](sequences/nel.md) | ✅ |
|
||||||
|
| `HTS` | `ESC H` | [Horizontal Tab Set](sequences/hts.md) | ✅ |
|
||||||
|
| `HTS` | `ESC H` | [Horizontal Tab Set](sequences/hts.md) | ✅ |
|
||||||
|
| `RI` | `ESC M` | [Reverse Index](sequences/ri.md) | ⚠️ |
|
||||||
|
| `SS2` | `ESC N` | [Single Shift 2](#) | ❌ |
|
||||||
|
| `SS3` | `ESC O` | [Single Shift 3](#) | ❌ |
|
||||||
|
| `SPA` | `ESC V` | [Start Protected Area](#) | ❌ |
|
||||||
|
| `EPA` | `ESC W` | [End Protected Area](#) | ❌ |
|
||||||
|
8
docs/sequences/hts.md
Normal file
8
docs/sequences/hts.md
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
# Horizontal Tab Set
|
||||||
|
|
||||||
|
| | |
|
||||||
|
| --- | --- |
|
||||||
|
| Text | `ESC H` |
|
||||||
|
| Hex | `0x18 0x48` |
|
||||||
|
|
||||||
|
Mark the current cursor colum as a tab stop.
|
19
docs/sequences/ind.md
Normal file
19
docs/sequences/ind.md
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
# Index
|
||||||
|
|
||||||
|
| | |
|
||||||
|
| --- | --- |
|
||||||
|
| Text | `ESC D` |
|
||||||
|
| Hex | `0x18 0x44` |
|
||||||
|
|
||||||
|
Move the cursor to the next line in the scrolling region, scrolling
|
||||||
|
if necessary. This always unsets the pending wrap state.
|
||||||
|
|
||||||
|
If the cursor is currently outside the scrolling region:
|
||||||
|
|
||||||
|
* move the cursor down one line if it is not on bottom line of the screen.
|
||||||
|
|
||||||
|
If the cursor is inside the scrolling region:
|
||||||
|
|
||||||
|
* If the cursor is on the bottom-most line of the screen: invoke
|
||||||
|
[scroll up](su.md) with the value `1`.
|
||||||
|
* Else: move the cursor one line down.
|
8
docs/sequences/nel.md
Normal file
8
docs/sequences/nel.md
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
# Index
|
||||||
|
|
||||||
|
| | |
|
||||||
|
| --- | --- |
|
||||||
|
| Text | `ESC E` |
|
||||||
|
| Hex | `0x18 0x45` |
|
||||||
|
|
||||||
|
Invoke [carriage return](cr.md) and then [index](ind.md).
|
21
docs/sequences/ri.md
Normal file
21
docs/sequences/ri.md
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
# Reverse Index
|
||||||
|
|
||||||
|
| | |
|
||||||
|
| --- | --- |
|
||||||
|
| Text | `ESC M` |
|
||||||
|
| Hex | `0x18 0x4D` |
|
||||||
|
|
||||||
|
Reverse [index](ind.md). This unsets the pending wrap state.
|
||||||
|
|
||||||
|
If the cursor is outside of the scrolling region:
|
||||||
|
|
||||||
|
* move the cursor one line up unless it is the top-most line of the screen.
|
||||||
|
|
||||||
|
If the cursor is inside the scrolling region:
|
||||||
|
|
||||||
|
* If the cursor is on the top-most line: invoke [scroll down](#) with value `1`
|
||||||
|
* Else: move the cursor one line up.
|
||||||
|
|
||||||
|
## TODO
|
||||||
|
|
||||||
|
* Scroll region edge cases
|
Reference in New Issue
Block a user