input.h
Go to the documentation of this file.
1 #ifndef NVIM_TUI_INPUT_H
2 #define NVIM_TUI_INPUT_H
3 
4 #include <stdbool.h>
5 
6 #include <termkey.h>
7 #include "nvim/event/stream.h"
8 #include "nvim/event/time.h"
9 
10 typedef struct term_input {
11  int in_fd;
12  // Phases: -1=all 0=disabled 1=first-chunk 2=continue 3=last-chunk
13  int8_t paste;
14  bool waiting;
15  bool ttimeout;
18  TermKey *tk;
19 #if TERMKEY_VERSION_MAJOR > 0 || TERMKEY_VERSION_MINOR > 18
20  TermKey_Terminfo_Getstr_Hook *tk_ti_hook_fn;
21 #endif
26  uv_mutex_t key_buffer_mutex;
27  uv_cond_t key_buffer_cond;
28 } TermInput;
29 
30 #ifdef INCLUDE_GENERATED_DECLARATIONS
31 # include "tui/input.h.generated.h"
32 #endif
33 
34 #ifdef UNIT_TESTING
35 bool ut_handle_background_color(TermInput *input);
36 #endif
37 
38 #endif // NVIM_TUI_INPUT_H
TimeWatcher timer_handle
Definition: input.h:22
Loop * loop
Definition: input.h:23
Definition: query.c:22
RBuffer * key_buffer
Definition: input.h:25
Definition: rbuffer.h:77
struct term_input TermInput
TermKey * tk
Definition: input.h:18
Definition: input.h:10
long ttimeoutlen
Definition: input.h:17
uv_mutex_t key_buffer_mutex
Definition: input.h:26
Definition: time.h:11
int8_t paste
Definition: input.h:13
bool waiting
Definition: input.h:14
Definition: loop.h:17
uv_cond_t key_buffer_cond
Definition: input.h:27
int in_fd
Definition: input.h:11
int8_t waiting_for_bg_response
Definition: input.h:16
bool ttimeout
Definition: input.h:15
Stream read_stream
Definition: input.h:24