aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/terminal.c
Commit message (Collapse)AuthorAge
...
* Merge pull request #10171 from blueyed/vim-8.1.1318Daniel Hahler2019-08-09
|\ | | | | vim-patch:8.1.1318: code for text changes is in a "misc" file
| * includesDaniel Hahler2019-08-07
| |
* | :terminal : update buffer when switching tabpage #10700Adrien Fabre2019-08-09
|/ | | fix #10696
* Merge pull request #9883 from bfredl/termredrawBjörn Linse2019-05-14
|\ | | | | make terminal state redraw like any other state
| * ui/terminal: make terminal state redraw like any other stateBjörn Linse2019-05-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, ordinary redraws were missing from terminal mode. Instead, there was an async callback that invoked update_screen() on terminal data regardless of mode (as if :redraw! was invoked by a timer). This created some issues: - async changes to an unrelated ordinary buffer were not always redrawn in terminal mode - screen cursor position was not properly updated in terminal mode (partial fix, will be properly fixed in a follow up PR) - ad-hoc logic was needed for interaction with special states such as inccommand or horizontal wildmenu. Instead redraw terminal mode just like any other state. This disables forced redraws in cmdline mode, which were inconisent which async changes to normal buffers (which are not redrawn in cmdline mode).
* | terminal.c: remove unnecessary macroJustin M. Keyes2019-05-02
| |
* | Reset stop_insert_mode in terminal_enter rather than terminal_checkglacambre2019-04-20
|/ | | | | | | | | | | Problem: Using `:stopinsert` while in normal mode in a terminal buffer prevents neovim from entering insert mode. Solution: Move `stop_insert_mode = false` from terminal_check to terminal_enter to be consistent with edit.c, as suggested by bfredl in #9889. Closes https://github.com/neovim/neovim/issues/9889.
* :stopinsert should leave terminal-mode #9856glacambre2019-04-08
| | | | | | | | | Problem: Calling :stopinsert from RPC while in terminal-mode does not go back to normal-mode. Solution: Implement a check() handler for state_enter(), adapted from insert_check(). Fix #7807
* coverity/183543: Null pointer dereference #9836Justin M. Keyes2019-04-03
| | | Window may disappear, see e7e2115de5c1.
* keymap, terminal: more keycodes #9810Olivier G-R2019-03-31
| | | | | | | | | - input: recognize <kEqual>, <kComma> - terminal.c: If we need to support function key, a change must be made in libvtermkey. Currently, it emulates strictly VT220 terminal, and returning numeric value in 'normal' mode is the expected behaviour. closes #9810
* buffer: use aucmd_prepbuf() instead of switch_to_win_for_buf()Björn Linse2019-03-05
|
* terminal: Fix potential invalid local 'scrollback' (#9605)Justin M. Keyes2019-02-17
| | | | | | TermOpen autocmd may set local 'scrollback' to -1, this needs to be adjusted as in on_scrollback_option_changed(). fixes #9588 (OOM, out of memory)
* options: set 'scrollback' to -1 by default #9563Marco Hinz2019-02-04
| | | | | | | | | Makes the 'scrollback' option more consistent (same default for all buffers) and future-proof. - Default to -1 for all buffers, but treat it as an implementation detail. - Document range of 1 - 100_000. - New terminal buffer by default sets scrollback=10_000 if the global default is -1. - Existing terminal buffer: On entering terminal-mode or on refresh, if the user explicitly did `:set[local] scbk=-1`, the local value goes to 100_000 (max). (This is undocumented on purpose. Users should work with explicit values in the range of 1-100_000.)
* :terminal : set topline based on window height #8325Andrew Pyatkov2019-01-29
| | | | | closes #8324 closes #8556
* terminal: handle size when switching buffers in windowBjörn Linse2019-01-27
|
* window/ui: reorganize size variables, fix terminal window size with multigrid.Björn Linse2019-01-27
| | | | | | | wp->w_height_inner now contains the "inner" size, regardless if the window has been drawn yet or not. It should be used instead of wp->w_grid.Rows, for stuff that is not directly related to accessing the allocated grid memory, such like cursor movement and terminal size
* terminal: simplify sizing logicBjörn Linse2019-01-27
|
* ui: multigrid mouse supportBjörn Linse2019-01-20
|
* build: enable -WshadowJustin M. Keyes2019-01-02
| | | | | | | | | | Note about shada.c: - shada_read_next_item_start was intentionally shadowing `unpacked` and `i` because many of the macros (e.g. ADDITIONAL_KEY) implicitly depended on those variable names. - Macros were changed to parameterize `unpacked` (but not `i`). Macros like CLEAR_GA_AND_ERROR_OUT do control-flow (goto), so any other approach is messy.
* highlight: Fix missing .rgb_sp_color in initializers (#9287)Justin M. Keyes2018-11-30
| | | | | | | terminal_get_line_attributes() had this bug for a long time, though it likely had no effect visible to users. ref #9028 ref 60f845ca55a1
* refactor: Rename get_term_attr_entryJustin M. Keyes2018-11-27
| | | | | Rename get_term_attr_entry to hl_get_term_attr, similar to hl_get_syn_attr, hl_get_ui_attr.
* terminal: Redraw statusline on title change #8973Josh Triplett2018-09-25
| | | | | | | | The statusline may incorporate b:term_title, so redraw it when that title changes. Introduce a new function status_redraw_buf to redraw windows associated with the current buffer.
* replace fallthrough comment with macroJan Edmund Lazo2018-09-21
| | | | Follow-up of vim-patch:8.0.1215
* highlight: refactor to use stateful representationBjörn Linse2018-07-21
| | | | | This allows us to keep track of the source higlight groups, and not only the final combined highlights.
* highlight: extract low-level highlight logic from syntax, uiBjörn Linse2018-07-21
|
* API: emit nvim_buf_lines_event from :terminal #8616KillTheMule2018-07-01
| | | | closes #8575
* Merge #7917 'API: buffer updates'Justin M. Keyes2018-06-08
|\
| * Rename some more, fixe borked renamingKillTheMule2018-05-23
| |
| * The grand renamingKillTheMule2018-05-23
| |
| * API: Implement buffer updatesPeter Hodge2018-05-23
| | | | | | | | | | Originally written by @phodge in https://github.com/neovim/neovim/pull/5269.
* | terminal: flush vterm output buffer on pty output #8486林千里2018-06-08
|/ | | | | | | | | | | Fixes #4151 libvterm uses an "output buffer" for terminal reporting (e.g. \e[6n to report cursor position) Flush it in on_channel_output() not just terminal_send_key() See also this line from pangoterm: https://bazaar.launchpad.net/~leonerd/pangoterm/trunk/view/607/pangoterm.c#L2159
* api: list information about all channels/jobs.Björn Linse2018-05-23
| | | | | Fire autocmd when channel opens or its info changes. Add a way for API clients can describe themselves.
* terminal: tickle statusline on entering #8323raichoo2018-05-18
|
* terminal: Leave 'relativenumber' alone (#8360)raichoo2018-05-05
| | | ref #6796
* inccommand: pause :terminal redraws (#8307)Justin M. Keyes2018-04-22
| | | fix #5584
* terminal: do not call redraw_buf_later() (#8306)Justin M. Keyes2018-04-21
| | | fixes #8290
* terminal: resize to the max dimensions (#8249)Andrew Pyatkov2018-04-16
| | | | closes #8096
* getchar: implement <Cmd> key to invoke command in any modeBjörn Linse2018-03-23
|
* build/MSVC: fix "C4005: RGB: macro redefinition"Justin M. Keyes2018-03-18
|
* ui/tui: highlighting refactorBjörn Linse2018-02-11
| | | | | | | | Make HlAttr contain highlighting state for both color modes (cterm and rgb). This allows us to implement termguicolors completely in the TUI. Simplify some logic duplicated between ui.c and screen.c. Also avoid some superfluous highlighting reset events.
* :terminal Enter/Leave should not increment jumplistJustin M. Keyes2018-02-07
| | | | | | | | | | | The old behavior is probably not justified, for the usual reason: terminal buffers may have interactive processes, so cursor placement is arbitrary, therefore tracking it in the jumplist is useless (or worse). N.B.: per the docstring for `checkpcmark()` it looks like we were calling `checkpcmark()` and `setpcmark()` in the wrong order. closes #3723
* channels: more consistent event handlingBjörn Linse2017-11-25
| | | | | terminal: libvterm now receives data in async context. This was "almost" safe already, as redraws were queued anyway.
* Merge #7030 'refactor/single-include'Justin M. Keyes2017-10-21
| | | | ref #5321
* terminal.c: need maketitle() in terminal-modeJustin M. Keyes2017-09-09
| | | | | | | | | | | normal_redraw() usually takes care of this, but that doesn't happen during terminal-mode. regression by c484323dc67f steps to reproduce: nvim -u NORC --cmd 'execute("set titlestring=" . $NVIM_LISTEN_ADDRESS) | set title | startinsert | !sleep 1' term://sh closes #7248
* Merge #7241 ':terminal : handle F1-F12, other keys'Justin M. Keyes2017-09-06
|\
| * Merge #5014 ':terminal : handle F1-F12, other keys'Justin M. Keyes2017-09-05
| |\ | | | | | | | | | | | | | | | | | | closes #3101 closes #4343 closes #5024 closes #5925
| | * terminal.c: label fallthrough on big switchRJ Miller2017-01-10
| | |
| | * terminal.c: handle ctrl+space and ctrl+@RJ Miller2017-01-10
| | |
| | * terminal.c: add more arrow key supportRJ Miller2017-01-10
| | |
| | * terminal.c: move mod logic into convert_modifiersRJ Miller2017-01-10
| | |