3#include "di/reflect/prelude.h"
4#include "di/util/bitwise_enum.h"
5#include "dius/sync_file.h"
27DI_DEFINE_ENUM_BITWISE_OPERATIONS(
Feature)
31 return di::make_enumerators<
"Feature">(
Implementation of clipboard handling for ttx.
Definition clipboard.h:33
Definition clipboard.h:10
@ None
Definition direction.h:8
constexpr auto tag_invoke(di::Tag< di::reflect >, di::InPlaceType< ClipboardMode >)
Definition clipboard.h:21
auto detect_features(dius::SyncFile &terminal) -> di::Result< Feature >
Definition feature.cpp:135
Feature
Definition features.h:8
@ KittyKeyProtocol
Supports kitty key protocol.
Definition features.h:16
@ Undercurl
Supports undercurl (fancy underline) and underline colors.
Definition features.h:17
@ TextSizingPresentation
Supports text-sizing with scale=1 but fractional scale and alignment.
Definition features.h:20
@ GraphemeClusteringMode
Supports grapheme clustering mode via mode 2027.
Definition features.h:15
@ TextSizingWidth
Supports using the text sizing protocol to specify explicit text width.
Definition features.h:11
@ BackgroundCharacterErase
Clearing the screen sets the current SGR background color.
Definition features.h:23
@ InBandSizeReports
Supports in-band size reports via mode 2048.
Definition features.h:14
@ DynamicPalette
Supports changing the color palette dynamically.
Definition features.h:22
@ ThemeDetection
Supports light/dark mode detection via mode 2031.
Definition features.h:13
@ BasicGraphemeClustering
Supports grapheme clustering, but may not match the kitty spec.
Definition features.h:18
@ FullGraphemeClustering
Grapheme clustering behavior matches kitty spec.
Definition features.h:19
@ All
Definition features.h:24
@ SyncronizedOutput
Allow using DEC mode 2026 to synchronize screen updates.
Definition features.h:10
@ TextSizingFull
Supports using the text sizing protocol to multi-height cells.
Definition features.h:12