mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-07-14 15:56:13 +03:00
terminal: decscusr
This commit is contained in:
@ -1487,3 +1487,37 @@ test "stream: DECEL, DECSEL" {
|
|||||||
try testing.expect(!s.handler.protected.?);
|
try testing.expect(!s.handler.protected.?);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
test "stream: DECSCUSR" {
|
||||||
|
const H = struct {
|
||||||
|
style: ?ansi.CursorStyle = null,
|
||||||
|
|
||||||
|
pub fn setCursorStyle(self: *@This(), style: ansi.CursorStyle) !void {
|
||||||
|
self.style = style;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
var s: Stream(H) = .{ .handler = .{} };
|
||||||
|
try s.nextSlice("\x1B[ q");
|
||||||
|
try testing.expect(s.handler.style.? == .default);
|
||||||
|
|
||||||
|
try s.nextSlice("\x1B[1 q");
|
||||||
|
try testing.expect(s.handler.style.? == .blinking_block);
|
||||||
|
}
|
||||||
|
|
||||||
|
test "stream: DECSCUSR without space" {
|
||||||
|
const H = struct {
|
||||||
|
style: ?ansi.CursorStyle = null,
|
||||||
|
|
||||||
|
pub fn setCursorStyle(self: *@This(), style: ansi.CursorStyle) !void {
|
||||||
|
self.style = style;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
var s: Stream(H) = .{ .handler = .{} };
|
||||||
|
try s.nextSlice("\x1B[q");
|
||||||
|
try testing.expect(s.handler.style == null);
|
||||||
|
|
||||||
|
try s.nextSlice("\x1B[1q");
|
||||||
|
try testing.expect(s.handler.style == null);
|
||||||
|
}
|
||||||
|
24
website/app/vt/decscusr/page.mdx
Normal file
24
website/app/vt/decscusr/page.mdx
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
import VTSequence from "@/components/VTSequence";
|
||||||
|
|
||||||
|
# Set Cursor Style (DECSCUSR)
|
||||||
|
|
||||||
|
<VTSequence sequence={["ESC", "Pn", " ", "q"]} />
|
||||||
|
|
||||||
|
Set the mouse cursor style.
|
||||||
|
|
||||||
|
If `n` is omitted, `n` defaults to `0`. `n` must be an integer between
|
||||||
|
0 and 6 (inclusive). The mapping of `n` to cursor style is below:
|
||||||
|
|
||||||
|
| n | style |
|
||||||
|
| --- | --------------------- |
|
||||||
|
| 0 | terminal default |
|
||||||
|
| 1 | blinking block |
|
||||||
|
| 2 | steady block |
|
||||||
|
| 3 | blinking underline |
|
||||||
|
| 4 | steady underline |
|
||||||
|
| 5 | blinking vertical bar |
|
||||||
|
| 6 | steady vertical bar |
|
||||||
|
|
||||||
|
For `n = 0`, the terminal default is up to the terminal and is inconsistent
|
||||||
|
across terminal implementations. The default may also be impacted by terminal
|
||||||
|
configuration.
|
Reference in New Issue
Block a user