aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/tui/input.h
diff options
context:
space:
mode:
authorThiago de Arruda <tpadilha84@gmail.com>2015-09-27 11:59:48 -0300
committerThiago de Arruda <tpadilha84@gmail.com>2015-10-01 15:22:49 -0300
commit0ca3f03c19287cf03b53775aadaf1c18071bba87 (patch)
tree60c284215e02564a06188db1f45eff9a1ea7d2a4 /src/nvim/tui/input.h
parent394c0c44021acbfc07a64875d3306c8a287e3d69 (diff)
downloadrneovim-0ca3f03c19287cf03b53775aadaf1c18071bba87.tar.gz
rneovim-0ca3f03c19287cf03b53775aadaf1c18071bba87.tar.bz2
rneovim-0ca3f03c19287cf03b53775aadaf1c18071bba87.zip
tui: Fix queueing of large chunks of input
Take the return value of input_enqueue into consideration, waiting for the main thread to consume input. Close #1714 #3377.
Diffstat (limited to 'src/nvim/tui/input.h')
-rw-r--r--src/nvim/tui/input.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/nvim/tui/input.h b/src/nvim/tui/input.h
index 033f53b4e2..d7ee2b9e52 100644
--- a/src/nvim/tui/input.h
+++ b/src/nvim/tui/input.h
@@ -10,10 +10,14 @@
typedef struct term_input {
int in_fd;
bool paste_enabled;
+ bool waiting;
TermKey *tk;
TimeWatcher timer_handle;
Loop *loop;
Stream read_stream;
+ RBuffer *key_buffer;
+ uv_mutex_t key_buffer_mutex;
+ uv_cond_t key_buffer_cond;
} TermInput;
#ifdef INCLUDE_GENERATED_DECLARATIONS