aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/tui/input.c
Commit message (Collapse)AuthorAge
* tui/input.c: add support for mouse release events in urxvt (#8309)symphorien2018-04-22
| | | | | | | | | | | | | | | | Some terminals don't report which buttons are involved in some mouse events. For example, the urxvt protocol (http://www.huge-man-linux.net/man7/urxvt.html section "Mouse reporting") does not report which button has been released. In this case libtermkey reports button 0 (http://www.leonerd.org.uk/code/libtermkey/doc/termkey_interpret_mouse.3.html) Up to now, forward_mouse_event did not handle button==0. On press events there is not much we can do, and we keep the current behavior which is dropping the event. But on drag-and-release events we can compensate by remembering the last button pressed. fixes #3182 for urxvt fixes #5400
* Fix for lintGeorge Zhao2018-01-19
|
* Fix bug, use &loop->uv replace loop.George Zhao2018-01-18
|
* Fix warning about conversion on mingw64George Zhao2018-01-18
|
* Merge #7593 'PVS static analysis fixes'Justin M. Keyes2017-11-22
|\
| * input.c: replace if/else with switchPeter Kalauskas2017-11-22
|/
* tui: 'guicursor': use DECSCUSR for xterm-likes (#7576)Justin M. Keyes2017-11-17
| | | | | | | Anything claiming to be an xterm gets DECSCUSR. This is the only reasonable choice unless/until we get more reliable detection (#7490). ref #6997 closes #7550
* eventloop: FocusGained: schedule event instead of pseudokeyJustin M. Keyes2017-09-05
| | | | | closes #4840 closes #6164
* win: Terminal UI #6315Rui Abreu Ferreira2017-05-03
| | | | | | | | | | | | | | For CI builds unibilium is provided through msys2 packages, and libtermkey is built from source in third-party from equalsraf/libtermkey. In Windows we cannot read terminal input from the stdin file descriptor, instead use libuv's uv_tty API. It should handle key input and encoding. The UI suspend is not implemented for Windows, because the SIGSTP/SIGCONT do not exist in windows. Currently this is a NOOP. Closes #3902 Closes #6640
* event: Remove "priority" concept.Justin M. Keyes2017-04-28
| | | | It was replaced by the "child queue" concept (MultiQueue).
* tui/input.c: Use default 'ttimeoutlen' if option get fails.Justin M. Keyes2017-04-23
| | | | | | Should never happen, but better to be explicit. Helped-by: oni-link <knil.ino@gmail.com>
* api_clear_error()Justin M. Keyes2017-04-23
|
* api: Do not truncate errors <1 MB. #6237Sander Bosma2017-04-23
| | | | Closes #5984
* *: Add comment to all C filesZyX2017-04-19
|
* tui: check stty/termios for kbsJustin M. Keyes2016-12-23
| | | | | | | | | | | Requires libtermkey 0.19+ Closes #2048 Closes #5693 See https://github.com/neovim/libtermkey/compare/a9b61424aae9f7548162ff112393c5f706cf54f1%5E...c0eb4e4a05f49ad8fee0195c77f2c29d09cc36af See https://bugzilla.redhat.com/show_bug.cgi?id=142659 See https://github.com/tmux/tmux/blob/fe4e9470bb504357d073320f5d305b22663ee3fd/tty-keys.c#L625-L632
* tui: "backpressure": Drop messages to avoid flooding.Justin M. Keyes2016-12-09
| | | | | | | | | Closes #1234 multiqueue: - Implement multiqueue_size() - Rename MultiQueueItem.parent to MultiQueueItem.parent_item, to avoid confusion with MultiQueue.parent.
* encoding: cleanup mbyte.c given fixed encoding=utf-8Björn Linse2016-11-05
| | | | | | | | | Eliminate mb_init(): Set "enc_utf" and "has_mbyte" early. Eliminate "enc_unicode" and "enc_latin1like". init_chartab() and screenalloc() are already invoked elsewhere in the initialization process. The EncodingChanged autocmd cannot be triggered. At initialization, there is no spellfiles to reload
* event/multiqueue.c: Rename "queue" to "multiqueue".Justin M. Keyes2016-10-02
| | | | | | | | | | | | | | `lib/queue.h` implements a basic queue. `event/queue.c` implements a specialized data structure on top of lib/queue.h; it is not a "normal" queue. Rename the specialized multi-level queue implemented in event/queue.c to "multiqueue", to avoid confusion when reading the code. Before this change one can eventually notice that "macros (uppercase symbols) are for the normal queue, lowercase operations are for the multi-level queue", but that is unnecessary friction for new developers (or existing developers just visiting this part of the codebase).
* refactor: eliminate misc2.cJustin M. Keyes2016-09-13
| | | | | | | | | | move `call_shell` to misc1.c Move some fns to state.c Move some fns to option.c Move some fns to memline.c Move `vim_chdir*` fns to file_search.c Move some fns to new module, bytes.c Move some fns to fileio.c
* api: consistently use nvim_ prefix and update documentationBjörn Linse2016-08-31
|
* stream: set data together with callbackBjörn Linse2016-08-20
|
* tui/input.c: Handle Ctrl-Z (suspend) for TERM=linux (#3100) (#4911)Mateusz Czapliński2016-06-12
| | | | | Fix #3100. On virtual consoles (Alt-F1, etc.), the Ctrl-Z combination was lost.
* tui/input.c: Add mouse release event (#4873)sach1t2016-06-04
|
* *: Rename main loop variable from loop to main_loopZyX2016-05-30
| | | | | | | | | | | | | | | | Current name is inappropriate for the following reasons: 1. It is often masked by local `loop` variables. 2. It cannot be searched for. There are many `loop` variables where `loop` is some local variable. There are many cases when “loop” word is used in a comment. 3. It is in any case bad idea to use a generic name as a name of the global variable. Best if global has module prefix: this is why it is in `main.h`: `main_loop` both stands for “a main loop” and “a loop defined in `main.*`”. Since I have no idea how to list every occurrence of this variable method used to rename it is “remove it from globals.h, try to compile, fix errors”. Thus if some occurrence was hidden under false `#if` branch it was not replaced.
* *: Fix new linter errorsZyX2016-05-01
| | | | Originally there were 128 new errors, so I thought this is a good idea to fix all of them. Of course, this commit also fixes many suppressed errors.
* Implement handling of terminal focus eventsJoe Hermaszewski2015-11-17
| | | | | | | | | | | | | | | | | | | | Two new keys have been added to key_name_entry in keymap.c: `FocusGained` and `FocusLost`. Two cases have been added to the key handing switch in edit.c each applying their respective autocmds. In normal.c two functions have been added alongside nv_cursorhold doing a similar job of applying the autocmd for the appropriate key. tui/input.c has a new function `handle_focus_event` which eats either of the control sequences for focus gained or lost. This function is checked before handle_bracketed_paste and handle_forced_escape. tui.c registers neovim as able to receive these control sequences in terminfo_start and undoes that in terminfo_stop. Closes #2302
* tui: Flush input on timer_cbThiago de Arruda2015-10-12
| | | | | | This is required to have <esc> working correctly when the `ttimeout`/`ttimeoutlen` options are set. Ref: https://github.com/neovim/neovim/issues/2093#issuecomment-146506480
* tui: Fix queueing of large chunks of inputThiago de Arruda2015-10-01
| | | | | Take the return value of input_enqueue into consideration, waiting for the main thread to consume input. Close #1714 #3377.
* tui: Don't use 'pastetoggle' for automatic pastingThiago de Arruda2015-10-01
| | | | | | | Add a new special key that can be used by UIs to toggle the 'paste' option and use it in the TUI instead of the user's 'pastetoggle' value. Close #2843 #2092
* encoding: simplify handling of encoding in TUIBjörn Linse2015-09-08
|
* tui: Refactor for running in another threadThiago de Arruda2015-09-06
|
* tui: move term_input.inl into the input.c moduleThiago de Arruda2015-09-06