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"
18
19namespace ttx {
23
25public:
26 auto parse(di::StringView input, Feature features) -> di::Vector<Event>;
27
28private:
29 void handle(PrintableCharacter const& printable_character);
30 void handle(DCS const& dcs);
31 void handle(OSC const& osc);
32 void handle(APC const& apc);
33 void handle(CSI const& csi);
34 void handle(Escape const& escape);
35 void handle(ControlCharacter const& control_character);
36
37 EscapeSequenceParser m_parser;
38 di::Vector<Event> m_events;
39 bool m_in_bracketed_paste { false };
40 di::String m_paste_buffer;
41};
42}
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:24
auto parse(di::StringView input, Feature features) -> di::Vector< Event >
Definition terminal_input.cpp:22
Definition clipboard.h:10
di::Variant< KeyEvent, MouseEvent, FocusEvent, PasteEvent, terminal::PrimaryDeviceAttributes, terminal::ModeQueryReply, terminal::CursorPositionReport, terminal::KittyKeyReport, terminal::StatusStringResponse, terminal::TerminfoString, terminal::OSC52, terminal::OSC8671 > Event
Definition terminal_input.h:20
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
Represents a seamless pane navigation request.
Definition osc_8671.h:93
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