ttx 0.1.0
Loading...
Searching...
No Matches
terminal_input.h
Go to the documentation of this file.
1#pragma once
2
3#include "di/container/string/string_view.h"
4#include "di/container/vector/vector.h"
5#include "di/vocab/variant/variant.h"
7#include "ttx/features.h"
8#include "ttx/focus_event.h"
9#include "ttx/key_event.h"
10#include "ttx/mouse_event.h"
11#include "ttx/paste_event.h"
17
18namespace ttx {
22
24public:
25 auto parse(di::StringView input, Feature features) -> di::Vector<Event>;
26
27private:
28 void handle(PrintableCharacter const& printable_character);
29 void handle(DCS const& dcs);
30 void handle(OSC const& osc);
31 void handle(APC const& apc);
32 void handle(CSI const& csi);
33 void handle(Escape const& escape);
34 void handle(ControlCharacter const& control_character);
35
36 EscapeSequenceParser m_parser;
37 di::Vector<Event> m_events;
38 bool m_in_bracketed_paste { false };
39 di::String m_paste_buffer;
40};
41}
Definition escape_sequence_parser.h:95
Definition focus_event.h:7
Definition key_event.h:24
Definition mouse_event.h:23
Definition paste_event.h:8
Definition terminal_input.h:23
auto parse(di::StringView input, Feature features) -> di::Vector< Event >
Definition terminal_input.cpp:21
Definition clipboard.h:10
di::Variant< KeyEvent, MouseEvent, FocusEvent, PasteEvent, terminal::PrimaryDeviceAttributes, terminal::ModeQueryReply, terminal::CursorPositionReport, terminal::KittyKeyReport, terminal::StatusStringResponse, terminal::TerminfoString, terminal::OSC52 > Event
Definition terminal_input.h:19
Feature
Definition features.h:8
Definition escape_sequence_parser.h:46
Definition escape_sequence_parser.h:56
Definition escape_sequence_parser.h:81
Definition escape_sequence_parser.h:22
Definition escape_sequence_parser.h:69
Definition escape_sequence_parser.h:35
Definition escape_sequence_parser.h:12
Cursor position report.
Definition device_status.h:34
Kitty key protocol status report.
Definition device_status.h:54
Terminal DEC request query mode reply.
Definition mode.h:202
Represents an OSC 52 sequence, which allows for modifying or querying the clipboard.
Definition osc_52.h:51
Terminal primary device attributes.
Definition device_attributes.h:14
Request status string response.
Definition device_status.h:73
Terminal response string (for XTGETTCAP)
Definition terminfo_string.h:15