3#include "di/reflect/prelude.h"
14constexpr auto tag_invoke(di::Tag<di::reflect>, di::InPlaceType<AnsiMode>) {
16 return di::make_enumerators<
"AnsiMode">(di::enumerator<
"None",
None>);
164constexpr auto tag_invoke(di::Tag<di::reflect>, di::InPlaceType<DecMode>) {
166 return di::make_enumerators<
"DecMode">(
191constexpr auto tag_invoke(di::Tag<di::reflect>, di::InPlaceType<ModeSupport>) {
193 return di::make_enumerators<
"ModeSupport">(di::enumerator<
"Unknown",
Unknown>, di::enumerator<
"Set",
Set>,
194 di::enumerator<
"Unset",
Unset>, di::enumerator<
"AlwaysSet",
AlwaysSet>,
207 static auto from_csi(
CSI const& csi) -> di::Optional<ModeQueryReply>;
Definition capability.h:8
DecMode
DEC private modes.
Definition mode.h:23
@ Select80Or132ColumnMode
Override the terminal column size to 80 or 132 columns.
Definition mode.h:33
@ FocusEvent
Focus event mode (enable/disable)
Definition mode.h:87
@ CursorKeysMode
Enable application cursor keys mode.
Definition mode.h:30
@ UTF8Mouse
UTF-8 mouse encoding.
Definition mode.h:90
@ Allow80Or132ColumnMode
Allow selecting 80 or 132 column mode.
Definition mode.h:67
@ HorizontalMargins
Enable setting horizontal margins.
Definition mode.h:75
@ AlternateScroll
Translate scrolling into up/down presses.
Definition mode.h:102
@ CellMotionMouseTracking
Cell motion mouse tracking - motion when held only.
Definition mode.h:81
@ None
Definition mode.h:24
@ VT200Mouse
VT 200 mouse events - presses only.
Definition mode.h:78
@ InBandSizeReports
Enable automatic reports of the current terminal size.
Definition mode.h:161
@ SGRPixelMouse
SGR mouse pixel encoding.
Definition mode.h:108
@ ThemeDetection
Enable automatic reports of users dark/light theme preference.
Definition mode.h:154
@ URXVTMouse
URXVT mouse encoding.
Definition mode.h:105
@ SGRMouse
SGR mouse encoding.
Definition mode.h:95
@ SynchronizedOutput
Synchronize screen render with application.
Definition mode.h:127
@ CursorEnable
Cursor enable (toggle cursor visibility)
Definition mode.h:64
@ AutoWrap
Auto-wrap mode.
Definition mode.h:55
@ GraphemeClustering
Perform grapheme clustering on inputs.
Definition mode.h:146
@ ReverseVideo
Reverse video mode.
Definition mode.h:39
@ AlternateScreenBuffer
Use alternate screen buffer.
Definition mode.h:115
@ BrackedPaste
Denote paste events with CSI 200 ~ and CSI 201 ~.
Definition mode.h:118
@ AllMotionMouseTracking
All motion mouse tracking - all mouse events.
Definition mode.h:84
@ X10Mouse
X10 (legacy) mouse mode.
Definition mode.h:61
OriginMode
Whether or not origin mode (DEC mode 6) is enabled.
Definition screen.h:31
ModeSupport
Definition mode.h:183
@ Set
Mode is currently set.
Definition mode.h:185
@ Unknown
Terminal doesn't know this mode.
Definition mode.h:184
@ AlwaysSet
Mode is set, and cannot be modified.
Definition mode.h:187
@ AlwaysUnset
Mode is unset, and cannot be modified.
Definition mode.h:188
@ Unset
Mode is currently unset.
Definition mode.h:186
AnsiMode
ANSI terminal modes.
Definition mode.h:10
@ None
Definition mode.h:11
constexpr auto tag_invoke(di::Tag< di::reflect >, di::InPlaceType< AnsiMode >)
Definition mode.h:14
Definition escape_sequence_parser.h:56
Terminal DEC request query mode reply.
Definition mode.h:202
constexpr friend auto tag_invoke(di::Tag< di::reflect >, di::InPlaceType< ModeQueryReply >)
Definition mode.h:212
static auto from_csi(CSI const &csi) -> di::Optional< ModeQueryReply >
Definition mode.cpp:6
auto serialize() const -> di::String
Definition mode.cpp:28
AnsiMode ansi_mode
ANSI mode queried.
Definition mode.h:205
ModeSupport support
Support the terminal offers for the mode.
Definition mode.h:203
DecMode dec_mode
DEC mode queried.
Definition mode.h:204