aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* API: nvim_create_buf: add `scratch` parameterJustin M. Keyes2019-02-17
| | | | | Creating a scratch buffer is a chore/ritual, and would be more useful/common if formally exposed.
* vim-patch:8.1.0803: session restore: handle single quotes #9620Marco Hinz2019-02-17
| | | | | | | | | Problem: Session file has problem with single quote in file name. (Jon Crowe) Solution: Use a double quoted string. Add a test. https://github.com/vim/vim/commit/ad36a3588d32985ee27bd11aa97e5195ef623158 Fixes https://github.com/neovim/neovim/issues/9618
* clang/"null pointer dereference": win_rotateJustin M. Keyes2019-02-14
|
* PVS/V1028: cast operands, not the resultJustin M. Keyes2019-02-14
|
* vim-patch:8.1.0852: findfile() and finddir() are not properly tested (#9609)Jan Edmund Lazo2019-02-13
| | | | | Problem: findfile() and finddir() are not properly tested. Solution: Extend the test and add more. (Dominique Pelle, closes vim/vim#3880) https://github.com/vim/vim/commit/ed71ed37bcd44bcbfcf59beee1248799de3315ec
* UI: change implementation of hl_rgb2cterm_color()Justin M. Keyes2019-02-12
| | | | | Replace the implementation cargo-culted from Vim's source with something simpler which "seems to look better" with 'pumblend'.
* UI: 'pumblend' for cterm (256-color TUI)Justin M. Keyes2019-02-12
| | | | | | hl_rgb2cterm_color, hl_cterm2rgb_color were adapted from Vim 8.1 (color2index, cterm_color2rgb). ref: https://github.com/vim/vim/commit/c5cd88554f1e0b2e9ff08d9a0748238dd8340ce1
* Merge #9601 from justinmk/tui-italicJustin M. Keyes2019-02-12
|\
| * TUI: assume italics support in all xterm-likesJustin M. Keyes2019-02-12
| | | | | | | | | | | | https://github.com/neovim/neovim/issues/9598#issuecomment-462421302 > On systems other than macOS, terminfo always has them set. It's part > of the ANSI standard SGR codes
| * TUI: sniff nsterm (Terminal.app) from $TERM_PROGRAMJustin M. Keyes2019-02-11
| |
| * TUI: force italics in tmuxJustin M. Keyes2019-02-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tmux users are encouraged to use "tmux-256color" instead of the old "screen-256color". Put this in your .tmux.conf : if-shell 'infocmp tmux-256color' 'set -g default-terminal "tmux-256color"' 'set -g default-terminal "screen-256color"' If default-terminal is "tmux-256color" AND tmux finds its terminfo, THEN it will enable italics (regardless of whether the terminfo contains sitm/ritm). OTHERWISE tmux "emulates screen", which means it emits italics as "reverse". That's unfortunate, but it's an acceptable compromise that allows Nvim to support italics in tmux by default in compatible (and increasingly-common) configurations. Test case: tmux nvim -u NORC +'hi Comment cterm=italic' CMakeLists.txt ref #9598
| * TUI: italics in Terminal.app (nsterm)Justin M. Keyes2019-02-11
| | | | | | | | | | | | | | | | | | | | | | | | This is the conservative approach, requiring TERM=nsterm as recommended at `:help $TERM`. It won't work with Terminal.app's default of TERM=xterm-256color, nor in tmux. Test case: TERM=nsterm nvim -u NORC +'hi Comment cterm=italic' CMakeLists.txt closes #9598
* | highlight: handle blending with gui=reverse and guisp attributesBjörn Linse2019-02-11
|/
* ui: implement ext_messagesBjörn Linse2019-02-10
| | | | Co-Author: Dongdong Zhou <dzhou121@gmail.com>
* api: add nvim_create_buf to create a new empty buffer.Björn Linse2019-02-09
| | | | | | | | | | | | Loading existing files into a buffer is non-trivial and requires a window. Creating an unnamed emtpy buffer is trivial and safe though, thus worth a special case. Change nvim_buf_set_option to use aucmd_prepbuf. This is necessary to allow some options to be set on a not yet displayed buffer, such as 'buftype' option. vim-patch:7.4.1858: Add BLN_NEW to enforce buflist_new creating new buffer
* screen: cleanup allocation, clearing and validationBjörn Linse2019-02-07
| | | | | | grid_xx functions shouldn't randomly be called when the screen is not valid. Nvim deterministically initializes a default screen early in main(), so the default grid can be assumed to be allocated.
* screen: simplify scrolling codeBjörn Linse2019-02-07
| | | | | Since the separation between internal screen and TUI, internal scroll cannot FAIL. Delete the conditions for this.
* UI: implement 'pumblend' option for semi-transparent popupmenuBjörn Linse2019-02-07
| | | | | | | | | | | | | Why? - Because we can. - Because the TUI is just another GUI™ - Because it looks kinda nice, and provides useful context like 1 out of 100 times Complies with "don't pay for what you don't use". Some crashes for resizing were unfolded, add tests for those.
* UI: always use contrete colors for default_colors_setBjörn Linse2019-02-05
| | | | | But add an escape hatch needed for external TUI, so it still can use terminal emulator defaults.
* Merge #9560 from justinmk/Wmissing-prototypesJustin M. Keyes2019-02-04
|\
| * build: PRAGMA_DIAG_PUSH_IGNORE_MISSING_PROTOTYPESJustin M. Keyes2019-02-04
| | | | | | | | | | | | | | | | | | | | | | | | On Travis CI, -Wmissing-prototypes gives strange error: In file included from ../src/nvim/eval.c:5965: /home/travis/build/neovim/neovim/build/src/nvim/auto/funcs.generated.h.gperf:215:1: error: conflicting types for 'find_internal_func_gperf' find_internal_func_gperf (register const char *str, register unsigned int len) ^ ../src/nvim/eval.c:5962:20: note: previous declaration is here const VimLFuncDef *find_internal_func_gperf(register const char *str, ^
| * build: -Wmissing-prototypesJustin M. Keyes2019-02-04
| | | | | | | | | | | | | | ref #343 Though I don't see a strong benefit, it isn't too much of a burden, and maybe avoids confusion in some cases.
* | 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.)
* | events: add "Signal" event #9564Marco Hinz2019-02-04
|/ | | | | ..which gets triggered when SIGUSR1 is sent to the nvim process. Closes #9562
* Merge pull request #9579 from bfredl/pum_fixBjörn Linse2019-02-03
|\ | | | | popupmenu: fix alignment of kind and extra after #9530
| * popupmenu: fix alignment of kind and extra after #9530Björn Linse2019-02-03
| |
* | Merge #9578 'vim-patch:8.0.{1045,1073,1077,1114}'Justin M. Keyes2019-02-03
|\ \
| * | vim-patch:8.0.1114: default for 'iminsert' is annoyingJan Edmund Lazo2019-02-03
| | | | | | | | | | | | | | | | | | Problem: Default for 'iminsert' is annoying. Solution: Make the default always zero. (Yasuhiro Matsumoto, closes vim/vim#2071) https://github.com/vim/vim/commit/4cf56bbc85f77846aeb378cfb071677336dfad6d
| * | vim-patch:8.0.1073: may get an endless loop if 'statusline' changes a highlightJan Edmund Lazo2019-02-03
| | | | | | | | | | | | | | | | | | Problem: May get an endless loop if 'statusline' changes a highlight. Solution: Do not let evaluating 'statusline' trigger a redraw. https://github.com/vim/vim/commit/ba2929b6afd2fc20479912a8dec789be26a38244
| * | vim-patch:8.0.1045: running tests may pollute shell historyJan Edmund Lazo2019-02-02
| | | | | | | | | | | | | | | | | | Problem: Running tests may pollute shell history. (Manuel Ortega) Solution: Make $HISTFILE empty. https://github.com/vim/vim/commit/6a8691d483914606213a24356a9124fa41c93b69
* | | rename ui_is_external to ui_has (#9576)Justin M. Keyes2019-02-03
| |/ |/|
* | Merge pull request #9530 from bfredl/pum_floatBjörn Linse2019-02-02
|\ \ | |/ |/| Implement popupmenu as a floating grid internally to reduce flicker
| * multigrid: reset win scrolling after swap messageBjörn Linse2019-02-02
| |
| * ui/compositor: add redraws needed due to intersected doublewidth chars.Björn Linse2019-02-02
| |
| * vim-patch:8.1.0792: bad display if opening cmdline window from Insert completionBjörn Linse2019-02-02
| |
| * Reduce pum redraws from edit.c by delaying undisplay of pumBjörn Linse2019-02-02
| | | | | | | | | | This makes it possible for the compositor to compare the old pum with the new position, and only clear what is necessary.
| * UI: add "compositor" layer to merge grids for TUI use in a correct wayBjörn Linse2019-02-02
| | | | | | | | | | | | | | | | Initially we will use this for the popupmenu, floating windows will follow soon NB: writedelay + compositor is weird, we need more flexible redraw introspection.
* | inccommand: auto-disable if folding is slow #9568KillTheMule2019-02-01
|/ | | | | Fixes #9557
* :terminal : set topline based on window height #8325Andrew Pyatkov2019-01-29
| | | | | closes #8324 closes #8556
* Merge #9539 "options: make 'listchars' and 'fillchars' local to window"Marco Hinz2019-01-28
|\
| * vim-patch:8.1.0759: showing two characters for tab is limitedMarco Hinz2019-01-26
| | | | | | | | | | | | | | | | Problem: Showing two characters for tab is limited. Solution: Allow for a third character for "tab:" in 'listchars'. (Nathaniel Braun, Ken Takata, closes vim/vim#3810) https://github.com/vim/vim/commit/83a52171ba00b2b9fd2d1d22a07e38fc9fc69c1e
| * linter: fix issuesMarco Hinz2019-01-26
| |
| * options: make 'fillchars'/'listchars' local to windowMarco Hinz2019-01-26
| | | | | | | | | | | | | | | | | | | | Using 'listchars' is a nice way to highlight tabs that were included by accident for buffers that set 'expandtab'. But maybe one does not want this for buffers that set 'noexpandtab', so now one can use: autocmd FileType go let &l:listchars .= ',tab: '
* | screen: simplify wp->w_lines allocation logicBjörn Linse2019-01-27
| |
* | 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
* | screen: remove superfluous default_grid indirection for global sizeBjörn Linse2019-01-27
| | | | | | | | | | This was changed by mistake in multigrid PR. default_grid.Rows rather corresponds to the old screen_Rows
* | terminal: simplify sizing logicBjörn Linse2019-01-27
| |
* | vim-patch:8.0.0413: menu test fails on MS-Windows #8173ckelsel2019-01-27
| | | | | | | | | | | | Problem: Menu test fails on MS-Windows using gvim. Solution: First delete the English menus. https://github.com/vim/vim/commit/a1c8ecfda90c0e0e519762ae0521d7f6e297c32e
* | menu_get(): fix query behaviorJustin M. Keyes2019-01-27
| | | | | | | | | | | | - Return the menu properties, not only its children. - If the {path} param is given, return only the first node. The "next" nodes in the linked-list are irrelevant.