aboutsummaryrefslogtreecommitdiff
path: root/runtime/doc/vim_diff.txt
Commit message (Collapse)AuthorAge
...
* signs: support multiple columns #9295Dan Aloni2019-03-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | closes #990 closes #9295 - Support for multiple auto-adjusted sign columns. With this change, having more than one sign on a line, and with the 'auto' setting on 'signcolumn', extra columns will shown automatically to accomodate all the existing signs. For example, suppose we have this view: 5147 } 5148 5149 return sign->typenr; 5150 } 5151 } 5152 return 0; 5153 } 5154 We have GitGutter installed, so it tells us about modified lines that are not commmited. So let's change line 5152: 5147 } 5148 5149 return sign->typenr; 5150 } 5151 } ~ 5152 return 0; 5153 } 5154 Now we add a mark over line 5152 using 'ma' in normal mode: 5147 } 5148 5149 return sign->typenr; 5150 } 5151 } a ~ 5152 return 0; 5153 } 5154 Previously, Vim/Nvim would have picked only one of the signs, because there was no support for having multiple signs in a line. - Remove signs from deleted lines. Suppose we have highlights on a group of lines and we delete them: + 6 use std::ops::Deref; --+ 7 use std::borrow::Cow; --+ 8 use std::io::{Cursor}; 9 use proc_macro2::TokenStream; 10 use syn::export::ToTokens; --+ 11 use std::io::Write; >> 12 use std::ops::Deref; Without this change, these signs will momentarily accumulate in the sign column until the plugins wake up to refresh them. + --+ --+ --+ >> 6 Discussion: It may be better to extend the API a bit and allow this to happen for only certain types of signs. For example, VIM marks and vim-gitgutter removal signs may want to be presreved, unlike line additions and linter highlights. - 'signcolumn': support 'auto:NUM' and 'yes:NUM' settings - sort signs according to id, from lowest to highest. If you have git-gutter, vim-signature, and ALE, it would appear in this order: git-gutter - vim-signature - ALE. - recalculate size before screen update - If no space for all signs, prefer the higher ids (while keeping the rendering order from low to high). - Prevent duplicate signs. Duplicate signs were invisible to the user, before using our extended non-standard signcolumn settings. - multi signcols: fix bug related to wrapped lines. In wrapped lines, the wrapped parts of a line did not include the extra columns if they existed. The result was a misdrawing of the wrapped parts. Fix the issue by: 1. initializing the signcol counter to 0 when we are on a wrap boundary 2. allowing for the draw of spaces in that case.
* Allow using internal popupmenu or ext_popupmenu for wildmenuBjörn Linse2019-03-16
| | | | | Deprecate ext_wildmenu. ext_popupmenu already contains more state (anchor position), and will allow further expansion (info about items).
* autocmd: rename: "++nested", "++once"Justin M. Keyes2019-03-14
| | | | | Based on feedback from upstream: https://github.com/vim/vim/pull/4100
* floats: add NormalFloat highlight and 'nonumber' defaultBjörn Linse2019-03-12
|
* autocmd: introduce "once" featureJustin M. Keyes2019-03-10
| | | | | | | | | | | | | | | | Adds a new feature to :autocmd which sets the handler to be executed at most one times. Before: augroup FooGroup autocmd! autocmd FileType foo call Foo() | autocmd! FooGroup * <buffer> augroup END After: autocmd FileType foo once call Foo()
* 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
* 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.
* events: add "Signal" event #9564Marco Hinz2019-02-04
| | | | | ..which gets triggered when SIGUSR1 is sent to the nvim process. Closes #9562
* Merge #9539 "options: make 'listchars' and 'fillchars' local to window"Marco Hinz2019-01-28
|\
| * 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: '
* | doc [ci skip] #9478Justin M. Keyes2019-01-26
|/ | | | | | | | | | | | - Lua - developer guidelines - MAINTAIN.md - TUI: cleanup - TUI: mention Windows terminfo builtins - cleanup if_pyth, redirect python-bindeval tag Helped-by: Björn Linse <bjorn.linse@gmail.com> Helped-by: erw7 <erw7.github@gmail.com>
* Visual: highlight char-at-cursorJustin M. Keyes2019-01-04
| | | | | | | | | | | | | | | Decide whether to highlight the visual-selected character under the cursor, depending on 'guicursor' style: - Highlight if cursor is blinking or non-block (vertical, horiz). - Do NOT highlight if cursor is non-blinking block. Traditionally Vim's visual selection does "reverse mode", which perhaps conflicts with the non-blinking block cursor. But 'guicursor' defaults to a vertical bar for selection=exclusive, and this confuses users who expect to see the text highlighted. closes #8983
* defaults: background=dark #2894 (#9205)Justin M. Keyes2018-11-20
| | | | | | | | | | | | | By historical accident, Nvim defaults to background=light. So on a dark background, `:colorscheme default` looks completely wrong. The "smart" logic that Vim uses is confusing for anyone who uses Vim on multiple platforms, so rather than mimic that, pick the (hopefully) most common default. - Since Neovim is dark-powered, we assume most users have dark backgrounds. - Most of the GUIs tend to have a dark background by default. ref #6289
* signs: Add "numhl" argument #9113Reto Schnyder2018-10-13
| | | | | close #9113 ref #9040
* doc: xdg, MAINTAIN.md, channel-id, job controlJustin M. Keyes2018-10-11
| | | | - tutor: emphasize K
* doc/defaults: document `ttimeoutlen` default (#8943)zandr2018-09-01
|
* runtime/doc: fix broken links found by `make html`Justin M. Keyes2018-08-25
|
* Make "v:errmsg", "v:shell_error" and "v:this_session" distinctShougo Matsushita2018-07-23
|
* highlight: high-priority CursorLine if fg is set. #8578Yichao Zhou2018-06-28
| | | | | | | | | | | | closes #7383 closes #7715 This implements the compromise described in #7383: * low-priority CursorLine if foreground is not set * high-priority ("same as Vim" priority) CursorLine if foreground is set ref d1874ab2821d076397290cc154d87ec2dc352c79 ref 56eda2aa17c80ba380b606f9466f288fb8162dd3
* defaults: shortmess+=F (#8619)Justin M. Keyes2018-06-22
| | | | | | Because we default to laststatus=2 (statusline is always visible), the :edit message is not useful. ref #6289
* Ex mode: use getexline() instead of getexmodeline()Justin M. Keyes2018-06-17
| | | | | | | | | | | | | | | | | | | | | This changes Ex mode (Q, -e) to work like Vim's "improved Ex mode" (gQ, -E). That brings some small behavior differences, but should not impact most Ex scripts (unless, for example, they depend on mappings being disabled--but that can be solved for -e by skipping user config). Before this change: * the screen test hangs. After this change: * Q acts like gQ. * -e/-es differs from -E/-Es only in its treatment of stdin. This moves towards potentially removing getexmodeline(). (HINT: That does NOT mean "removing Ex mode", it means removing the Vi-compatible Ex mode, which differs from Vim's "improved Ex mode" only in some minor details (e.g. mappings are disabled).) ref #1089 :-)~
* fillchars: make checks more strict and improve testsBjörn Linse2018-06-14
|
* options: remove 'maxcombine` option (always use 6)Björn Linse2018-06-13
|
* docJustin M. Keyes2018-06-12
|
* doc: job/channel, misc #7783Justin M. Keyes2018-06-11
| | | | | | | | | | | doc: termios defaults. ref #6992 doc: :help shell-powershell doc: provider: Python minimum version is 2.7, 3.4 doc: remove :!start special-case. #5844 doc: mention #7917 change which accepts empty Array for Dictionary parameter doc: <Cmd> pseudokey doc: lmap change #5658 doc: -s, -es
* win/startup: remove --literalJustin M. Keyes2018-06-04
| | | | | | | | | | | | | | | Fixes 2 failing tests in startup_spec.lua. The Windows-only `--literal` option complicates support of "stdin-as-text + file-args" (#7679). Could work around it, but it's not worth the trouble: - users have a reasonable (and englightening) alternative: nvim +"n *" - "always literal" is more consistent/predictable - avoids platform-specific special-case Unrelated changes: - Replace fileno(stdxx) with STDXX_FILENO for consistency (not motivated by any observed technical reason).
* Merge #5658 'Apply :lmap in macros'Justin M. Keyes2018-05-17
|\
| * Update documentationMatthew Malcomson2018-03-14
| | | | | | | | | | | | | | | | Update vim_diff.txt with :lmap differences, update documentation on 'keymap', and add tests. The tests added are to demonstrate the behaviour specified in the documentation of :loadkeymap.
* | Merge #4486 'refactor: Remove maxmem, maxmemtot options'Justin M. Keyes2018-05-02
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After this change we never release blocks from memory (in practice it never happened because the memory limits are never reached). Let the OS take care of that. --- On today's systems the 'maxmem' and 'maxmemtot' values are huge (4+ GB) so the limits are never reached in practice, but Vim wastes a lot of time checking if the limit was reached. If the limit is reached Vim starts saving pieces of the swap file that were in memory to the disk. Said in a different way: Vim implements its own memory-paging mechanism. This is unnecessary and inefficient since the operating system already has virtual memory and will swap to the disk if programs start using too much memory. This change does... 1. Reduce the number of config options and need for documentation. 2. Make the code more efficient as we don't have to keep track of memory usage nor check if the memory limits were reached to start swapping to disk every time we need memory for buffers. 3. Simplify the code. Once memfile.c is simple enough it could be replaced by actual operating system memory mapping (mmap, MemoryViewOfFile...). This change does not prevent Vim to recover changes from swap files since the swapping code is never triggered with the huge limits set by default.
* | | msg: do not scroll entire screen (#8088)Björn Linse2018-03-31
| |/ |/|
* | defaults: 'fillchars'Justin M. Keyes2018-02-23
| | | | | | | | | | | | | | | | | | | | | | Most fonts should have these by now. Both are a significant visual improvement. - Vertical connecting bar `│` is used by tmux, pstree, Windows 7 cmd.exe and nvim-qt.exe. - Middle dot `·` works on Windows 7 cmd.exe, nvim-qt.exe. For reference: tmux uses these chars to draw lines: │ ├ ─
* | vim-patch:8.0.0440: not enough test coverage in Insert modeJustin M. Keyes2018-02-11
| | | | | | | | | | | | | | | | | | [Nvim note: test_override() omitted] Problem: Not enough test coverage in Insert mode. Solution: Add lots of tests. Add test_override(). (Christian Brabandt, closes vim/vim#1521) https://github.com/vim/vim/commit/eb992cb90fd79c77ad2743459ac898e6ac3de939
* | defaults: sidescroll=1Justin M. Keyes2018-02-09
| | | | | | | | ref #6289
* | defaults: enable 'cscopeverbose', and deprecate itJustin M. Keyes2018-01-21
| |
* | docJustin M. Keyes2017-12-26
| | | | | | | | | | | | | | | | vim-patch:8.0.1206: no autocmd for entering or leaving the command line (commit a4f6cec7a31ff8dbfa089b9e22227afbeb951e9b) NA patches: vim-patch:8.0.0320: warning for unused variable with small build
* | docJustin M. Keyes2017-12-10
| | | | | | | | closes #7622
* | Merge #7234 'built-in expression parser'Justin M. Keyes2017-12-09
|\ \
| * \ Merge branch 'master' into expression-parserZyX2017-11-30
| |\ \
| * | | doc: Update documentationZyX2017-11-19
| | | |
* | | | tui: dump termcap info if -V3 ('verbose' >= 3)Justin M. Keyes2017-12-05
| |/ / |/| | | | | | | | | | | | | | | | | | | | | | | Get terminal debugging info by starting Nvim with 'verbose' level 3: nvim -V3log This is like Vim's `:set termcap`, which was removed in Nvim (and would be very awkward to restore because of the decoupled UI).
* | | tui: expose terminal type in 'term' optionJustin M. Keyes2017-11-27
|/ / | | | | | | | | | | | | | | | | | | Since "builtin" terminfo definitions were implemented (7cbf52db1bdf), the decisions made by tui.c and terminfo.c are more relevant. Exposing that decision in the 'term' option helps with troubleshooting. Also: remove code that allowed setting t_Co. `:set t_Co=…` has never worked; the highlight_spec test asserting that nvim_set_option('t_Co') _does_ work makes no sense, and should not have worked.
* | doc/vim_diff.txt: mention NormalNCJustin M. Keyes2017-11-10
| |
* | compat: "v:count" distinct from "count" (#7407)Marco Hinz2017-11-09
| |
* | doc: deprecate 'highlight'; remove howto.txt (#7497)Justin M. Keyes2017-11-07
| |
* | docJustin M. Keyes2017-11-06
| |
* | help, man.vim: change "outline" map to gO (#7405)Justin M. Keyes2017-10-21
| |
* | doc: replace ":CheckHealth" with ":checkhealth"Justin M. Keyes2017-10-17
| |
* | syntax: 'cursorline': revert priority change (#7400)Justin M. Keyes2017-10-16
| | | | | | | | | | ref #7383 reverts d1874ab2821d076397290cc154d87ec2dc352c79 ref #6380
* | syntax: 'cursorline': low priority #6380Justin M. Keyes2017-10-07
| |
* | syntax: 'cursorcolumn', 'colorcolumn': low priority #6380Justin M. Keyes2017-10-07
| |