aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/ex_getln.c
Commit message (Collapse)AuthorAge
...
* ui: disable clearing almost everywhereBjörn Linse2018-10-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid clearing the screen in most situations. NOT_VALID should be equivalent to CLEAR unless some external force messed up the terminal, for these situations <c-l> and :mode will still clear the screen. Also eliminate some obsolete code in screen.c, that dealt with that in vim drawing window 1 can mess up window 2, but this never happens in nvim. But what about slow terminals? There is two common meanings in which a terminal is said to be "slow": Most commonly (and in the sense of vim:s nottyfast) it means low bandwidth for sending bytes from nvim to the terminal. If the screen is very similar before and after the update_screen(CLEAR) this change should reduce bandwidth. If the screen is quite different, but there is no new regions of contiguous whitespace, clearing doesn't reduce bandwidth significantly. If the new screen contains a lot of whitespace, it will depend of if vsplits are used or not: as long as there is no vsplits, ce is used to cheaply clear the rest of the line, so full-screen clear is not needed to reduce bandwith. However a left vsplit currently needs to be padded with whitespace all the way to the separator. It is possible ec (clear N chars) can be used to reduce bandwidth here if this is a problem. (All of this assumes that one doesn't set Normal guibg=... on a non-BCE terminal, if you do you are doomed regardless of this change). Slow can also mean that drawing pixels on the screen is slow. E-ink screens is a recent example. Avoiding clearing and redrawing the unchanged part of the screen will always improve performance in these cases.
* vim-patch:8.0.1672: error during completion causes command to be cancelledJan Edmund Lazo2018-10-13
| | | | | | Problem: Error during completion causes command to be cancelled. Solution: Reset did_emsg before waiting for another character. (Tom M.) https://github.com/vim/vim/commit/72532d354e699f1cceec34c0b08e1de4d3ea9641
* lintJan Edmund Lazo2018-10-10
|
* vim-patch:8.0.1837: one character cmdline abbreviation not triggered after '<,'>Jan Edmund Lazo2018-10-10
| | | | | | Problem: One character cmdline abbreviation not triggered after '<,'>. Solution: Skip over the special range. (Christian Brabandt, closes vim/vim#2320) https://github.com/vim/vim/commit/5e3423d192bfa502c6704f731fa2ec6821f9a2f0
* Merge #9036 'func_attr_printf'Justin M. Keyes2018-10-07
|\
| * add func_attr_printf in :MichaHoffmann2018-09-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | log.c message.c strings.c fixed some printf warnings in: src/nvim/undo.c src/nvim/eval.c src/nvim/eval/encode.c src/nvim/eval/typval.c src/nvim/ex_getln.c src/nvim/fileio.c src/nvim/lua/executor.c src/nvim/main.c src/nvim/regexp_nfa.c src/nvim/shada.c src/nvim/spellfile.c src/nvim/tui/terminfo.c src/nvim/garray.h
* | vim-patch:8.1.0436: can get the text of inputsecret() with getcmdline()Jan Edmund Lazo2018-09-25
| | | | | | | | | | | | Problem: Can get the text of inputsecret() with getcmdline(). (Tommy Allen) Solution: Don't return the text. https://github.com/vim/vim/commit/ee91c33570008aefd2d62b8f88b22db751acacbe
* | vim-patch:8.1.0433: mapping can obtain text from inputsecret()Jan Edmund Lazo2018-09-25
|/ | | | | | Problem: Mapping can obtain text from inputsecret(). (Tommy Allen) Solution: Disallow CTRL-R = and CTRL-\ e when using inputsecret(). https://github.com/vim/vim/commit/31cbadf74bccc2a5cd8233bc31bbcfe466b00021
* replace fallthrough comment with macroJan Edmund Lazo2018-09-21
| | | | Follow-up of vim-patch:8.0.1215
* vim-patch:8.0.1215: newer gcc warns for implicit fallthroughJan Edmund Lazo2018-09-20
| | | | | | Problem: Newer gcc warns for implicit fallthrough. Solution: Consistently use a FALLTHROUGH comment. (Christian Brabandt) https://github.com/vim/vim/commit/2f40d129bf45cd35976e4120336ae6d504f5a5dd
* cleanup/TUI: remove old unused code #9013Justin M. Keyes2018-09-19
| | | | | | | | - Checks for ECHOE, ICANON were left over from Vim code. We already reference the symbols elsewhere without checking. - newline_on_exit, intr_char: Both are vestigial remnants of Vim 4.x, not implemented in Nvim. intr_char is a termios/stty feature, it's probably not useful because users have other ways to configure their terminals.
* vim-patch:8.0.1428: compiler warning on 64 bit MS-Windows systemJan Edmund Lazo2018-09-17
| | | | | | Problem: Compiler warning on 64 bit MS-Windows system. Solution: Change type from "int" to "size_t". (Mike Williams) https://github.com/vim/vim/commit/200ea8ffaa90e1ccc156b24ee097be87acdd5214
* globals: KeyTyped is boolJan Edmund Lazo2018-09-14
|
* lint: clean-up after parent commitsZviRackover2018-09-09
|
* Remove has_mbytes local to lines changed in parent commitZviRackover2018-09-09
|
* Refactor: Remove occurences of mb_char2bytesZviRackover2018-09-09
|
* window: refactor boolean variables in win_close()Jan Edmund Lazo2018-09-06
| | | | free_buf (param) and help_window (variable) are bool.
* ex_cmds: const variables in find_help_tags()Jan Edmund Lazo2018-09-04
| | | | keep_lang (param) is bool.
* lint: clean-up after parent commitsZviRackover2018-08-31
|
* Remove has_mbytes from lines local to parent commitZviRackover2018-08-31
|
* Refactor: remove mb_ptr2len_len, mb_ptr2cells and mb_ptr2cells_lenZviRackover2018-08-31
| | | | Remove occurences of these macros.
* Merge #8863 'refactor: Remove mb_head_off() 'Justin M. Keyes2018-08-28
|\
| * lint: cleanup after parent commitsZviRackover2018-08-16
| |
| * Remove has_mbyte from lines near changes in parent commitZviRackover2018-08-16
| |
| * Remove occurences of mb_head_offZviRackover2018-08-15
| |
* | ext_cmdline: use new highlight representation for cmdline_blockBjörn Linse2018-08-27
| | | | | | | | | | | | | | | | | | Make sure cmdline updates will receive highlight specifications the same way as screen cells. This is controlled by the ext_newgrid option so nothing is changed by default (as screen cells are also not changed by default). This was already done for the cmdline itself in #8221, this extends it to cmdline_block. Which currently doesn't store highlights, but the placeholder should be one that makes sense for future use.
* | Merge #8866 from janlazo/vim-8.0.0878Justin M. Keyes2018-08-20
|\ \
| * | lintJan Edmund Lazo2018-08-17
| | |
| * | ops: refactor get_spec_reg()Jan Edmund Lazo2018-08-16
| | | | | | | | | | | | | | | | | | Return value is bool. errmsg (param) is bool in here and in getaltfname(). allocated (param) is bool.
| * | vim-patch:8.0.1787: cannot insert the whole cursor lineJan Edmund Lazo2018-08-16
| | | | | | | | | | | | | | | | | | Problem: Cannot insert the whole cursor line. Solution: Make CTRL-R CTRL-L work. (Andy Massimino, closes vim/vim#2857) https://github.com/vim/vim/commit/e2c8d8392684a940cc5608acc73ff47486bd7b92
| * | vim-patch:8.0.1649: no completion for argument list commandsJan Edmund Lazo2018-08-16
| | | | | | | | | | | | | | | | | | Problem: No completion for argument list commands. Solution: Add arglist completion. (Yegappan Lakshmanan, closes vim/vim#2706) https://github.com/vim/vim/commit/cd43effecab02c6c28b1c4a3a14f91b8c3f26c0d
| * | vim-patch:8.0.0878: no completion for :mapclearJan Edmund Lazo2018-08-16
| |/ | | | | | | | | | | Problem: No completion for :mapclear. Solution: Add completion (Nobuhiro Takasaki et al. closes vim/vim#1943) https://github.com/vim/vim/commit/cae92dc3d5bdd4009910671328cd01394bfbe2cf
* / cmdline: always use save_cmdline before command_line_enterBjörn Linse2018-08-17
|/ | | | | ":normal :" might be invoked in various ways, so its safest to always allow recursive invocation of cmdline mode
* Merge #8744 from janlazo/vim-8.0.0890Justin M. Keyes2018-08-08
|\
| * memline: copy in ml_replace() is boolJan Edmund Lazo2018-08-07
| |
* | style: fixing minor issues noted in code review.ZviRackover2018-08-06
| |
* | lint: clean-up after parent commitZviRackover2018-08-06
| |
* | Remove all occurences of the mb_ptr2char macroZviRackover2018-08-06
|/ | | | | | | First step towards implemening issue #7401. The same can be done for all deprecated mb_ functions in follow-up patches.
* eval, ex_getln: Fix incompatible pointer types (#8792)hyatskov2018-08-05
| | | | | | | | | | | Fixes #8786 gcc (GCC) 8.1.1 20180531 warning: [76/182] Building C object src/nvim/CMakeFiles/nvim.dir/ex_getln.c.o ../src/nvim/ex_getln.c: In function ‘ExpandUserDefined’: ../src/nvim/ex_getln.c:5071:34: warning: cast between incompatible function types from ‘char * (*)(const char * const, const int, const char_u * const* const, const _Bool)’ {aka ‘char * (*)(const char * const, const int, const unsigned char * const* const, const _Bool)’} to ‘void * (*)(char_u *, int, char_u **, int)’ {aka ‘void * (*)(unsigned char *, int, unsigned char **, int)’} [-Wcast-function-type] retstr = call_user_expand_func((user_expand_func_T)call_func_retstr, xp,
* vim-patch:8.0.1502: in out-of-memory situation character is not restoredJan Edmund Lazo2018-07-23
| | | | | | Problem: In out-of-memory situation character is not restored. (Coverity) Solution: Restore the character in all situations. https://github.com/vim/vim/commit/71a43c01377cb0c5cdc5f2d9a357b5ef1aa69ee3
* ui: use line-based rather than char-based updates in screen.cBjörn Linse2018-07-21
| | | | | | | | | | | | | Add ext_newgrid and ext_hlstate extensions. These use predefined highlights and line-segment based updates, for efficiency and simplicity.. The ext_hlstate extension in addition allows semantic identification of builtin and syntax highlights. Reimplement the old char-based updates in the remote UI layer, for compatibility. For the moment, this is still the default. The bulitin TUI uses the new line-based protocol. cmdline uses curwin cursor position when ext_cmdline is active.
* 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
|
* vim-patch:8.0.0677: setting 'filetype' may switch buffersJan Edmund Lazo2018-06-26
| | | | | | | Problem: Setting 'filetype' internally may cause the current buffer and window to change unexpectedly. Solution: Set curbuf_lock. (closes vim/vim#1734) https://github.com/vim/vim/commit/1814183b865059679f6ee526ec23fc575e536e66
* vim-patch:8.0.0706: crash when cancelling the cmdline window in Ex modeJan Edmund Lazo2018-06-25
| | | | | | Problem: Crash when cancelling the cmdline window in Ex mode. (James McCoy) Solution: Do not set cmdbuff to NULL, make it empty. https://github.com/vim/vim/commit/5a15b6aa0aa5c1559c6f1a9f06c595a8c564637d
* vim-patch:8.0.0468: g< after aborting an Ex command (#7941)KunMing Xie2018-06-21
| | | | | | | | Problem: After aborting an Ex command g< does not work. (Marcin Szamotulski) Solution: Postpone clearing scrollback messages to until the command line has been entered. Also fix that the screen isn't redrawn if after g< the command line is cancelled. https://github.com/vim/vim/commit/f2405ed2321da4a879fe0b0703af780fc0432c63
* vim-patch:8.0.0546: swap file exists briefly when opening the command window ↵Jan Edmund Lazo2018-06-19
| | | | | | | | (#8588) Problem: Swap file exists briefly when opening the command window. Solution: Set the noswapfile command modifier before splitting the window. (James McCoy, closes vim/vim#1620) https://github.com/vim/vim/commit/3bab93998d01a01b7f2a071fa3b8054bb0094625
* vim-patch:8.0.0451: some macros are in lower caseJan Edmund Lazo2018-06-12
| | | | | | | Problem: Some macros are in lower case. Solution: Make a few more macros upper case. Avoid lower case macros use an argument twice. https://github.com/vim/vim/commit/91acfffc1e6c0d8c2abfb186a0e79a5bf19c3f3f
* vim-patch:8.0.0466: still macros that should be all-caps (#8510)Jan Edmund Lazo2018-06-10
| | | | | Problem: There are still a few macros that should be all-caps. Solution: Make a few more macros all-caps. https://github.com/vim/vim/commit/8820b48654b62472821d9b155fe03ab7ac13a05c
* ex_getln.c: Fix PVS/V519: variable assigned twiceJustin M. Keyes2018-06-06
|