3#include "di/reflect/prelude.h"
4#include "di/serialization/base64.h"
23constexpr auto tag_invoke(di::Tag<di::reflect>, di::InPlaceType<SelectionType>) {
25 return di::make_enumerators<
"SelectionType">(
26 di::enumerator<
"Clipboard",
Clipboard>, di::enumerator<
"Selection",
Selection>, di::enumerator<
"0",
_0>,
27 di::enumerator<
"1",
_1>, di::enumerator<
"2",
_2>, di::enumerator<
"3",
_3>, di::enumerator<
"4",
_4>,
28 di::enumerator<
"5",
_5>, di::enumerator<
"6",
_6>, di::enumerator<
"7",
_7>);
56 static auto parse(di::StringView
data) -> di::Optional<OSC52>;
60 auto operator==(
OSC52 const& other) const ->
bool = default;
Definition capability.h:8
SelectionType
Represents the type of selection being modifed by an OSC 52 sequence.
Definition osc_52.h:8
@ Clipboard
Standard user clipboard (default)
Definition osc_52.h:9
@ _2
Definition osc_52.h:13
@ _7
Definition osc_52.h:18
@ _1
Definition osc_52.h:12
@ Max
Definition osc_52.h:20
@ _0
Numbered buffers, never forwarded to the outer terminal.
Definition osc_52.h:11
@ _4
Definition osc_52.h:15
@ _6
Definition osc_52.h:17
@ _3
Definition osc_52.h:14
@ _5
Definition osc_52.h:16
constexpr auto tag_invoke(di::Tag< di::reflect >, di::InPlaceType< AnsiMode >)
Definition mode.h:14
Represents an OSC 52 sequence, which allows for modifying or querying the clipboard.
Definition osc_52.h:51
auto serialize() const -> di::String
Definition osc_52.cpp:55
di::Base64 data
Definition osc_52.h:53
di::StaticVector< SelectionType, di::Constexpr< usize(SelectionType::Max)> > selections
Definition osc_52.h:52
bool query
Definition osc_52.h:54
static auto parse(di::StringView data) -> di::Optional< OSC52 >
Definition osc_52.cpp:15
constexpr friend auto tag_invoke(di::Tag< di::reflect >, di::InPlaceType< OSC52 >)
Definition osc_52.h:62
Represents the visual selection of a terminal.
Definition selection.h:26