diff --git a/README.md b/README.md index 2249891235..f9a9a7fe8b 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,7 @@ [![Neovim](https://raw.githubusercontent.com/neovim/neovim.github.io/master/logos/neovim-logo-300x87.png)](https://neovim.io) -[Wiki](https://github.com/neovim/neovim/wiki) | [Documentation](https://neovim.io/doc) | -[Chat/Discussion](https://gitter.im/neovim/neovim) | +[Chat](https://gitter.im/neovim/neovim) | [Twitter](https://twitter.com/Neovim) [![Travis build status](https://travis-ci.org/neovim/neovim.svg?branch=master)](https://travis-ci.org/neovim/neovim) @@ -114,17 +113,9 @@ Project layout License ------- -Neovim is licensed under the terms of the Apache 2.0 license, except for -parts that were contributed under the Vim license. - -- Contributions committed before [b17d96][license-commit] remain under the Vim - license. - -- Contributions committed after [b17d96][license-commit] are licensed under - Apache 2.0 unless those contributions were copied from Vim (identified in - the commit logs by the `vim-patch` token). - -See `LICENSE` for details. +Neovim contributions since [b17d96][license-commit] are licensed under the +Apache 2.0 license, except for contributions copied from Vim (identified by the +`vim-patch` token). See LICENSE for details. Vim is Charityware. You can use and copy it as much as you like, but you are encouraged to make a donation for needy children in Uganda. Please see the diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index fecb8b5f74..960a42ecbf 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -3771,8 +3771,8 @@ feedkeys({string} [, {mode}]) *feedkeys()* and "\..." notation |expr-quote|. For example, feedkeys("\") simulates pressing of the key. But feedkeys('\') pushes 5 characters. - A special code that might be useful is , it exits the - wait for a character without doing anything. ** + The || keycode may be used to exit the + wait-for-character without doing anything. {mode} is a String, which can contain these character flags: 'm' Remap keys. This is default. If {mode} is absent, diff --git a/runtime/doc/intro.txt b/runtime/doc/intro.txt index c59ed43a47..3c3753df78 100644 --- a/runtime/doc/intro.txt +++ b/runtime/doc/intro.txt @@ -339,6 +339,8 @@ notation meaning equivalent decimal value(s) ~ end-of-line (can be , or , depends on system and 'fileformat') ** + cancel wait-for-character ** + no-op: do nothing (useful in mappings) ** cursor-up *cursor-up* *cursor_up* cursor-down *cursor-down* *cursor_down* diff --git a/runtime/doc/lsp.txt b/runtime/doc/lsp.txt index d6d16b8481..f1b321b20f 100644 --- a/runtime/doc/lsp.txt +++ b/runtime/doc/lsp.txt @@ -38,6 +38,7 @@ go-to-definition, "hover", etc. Example config: > nnoremap gD lua vim.lsp.buf.implementation() nnoremap lua vim.lsp.buf.signature_help() nnoremap 1gD lua vim.lsp.buf.type_definition() + nnoremap gr lua vim.lsp.buf.references() < *vim.lsp.omnifunc()* diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt index 58c0d832e6..ed31ecc42e 100644 --- a/runtime/doc/map.txt +++ b/runtime/doc/map.txt @@ -522,10 +522,9 @@ single CTRL-V (you have to type CTRL-V two times). You can create an empty {rhs} by typing nothing after a single CTRL-V (you have to type CTRL-V two times). Unfortunately, you cannot do this in a vimrc file. - ** + || An easier way to get a mapping that doesn't produce anything, is to use -"" for the {rhs}. This only works when the |<>| notation is enabled. -For example, to make sure that function key 8 does nothing at all: > +"" for the {rhs}. For example, to disable function key 8: > :map :map! < diff --git a/runtime/doc/message.txt b/runtime/doc/message.txt index bcfd985e71..98e45ac6da 100644 --- a/runtime/doc/message.txt +++ b/runtime/doc/message.txt @@ -671,21 +671,20 @@ being disabled. Remove the 'C' flag from the 'cpoptions' option to enable it. *E471* > Argument required -This happens when an Ex command with mandatory argument(s) was executed, but -no argument has been specified. +Ex command was executed without a mandatory argument(s). *E474* *E475* *E983* > Invalid argument Invalid argument: {arg} Duplicate argument: {arg} -Ex command or function has been executed, but an invalid argument was -specified. Or a non-executable command was given to |system()|. +Ex command or function was given an invalid argument. Or |jobstart()| or +|system()| was given a non-executable command. *E488* > Trailing characters -An argument has been added to an Ex command that does not permit one. +An argument was given to an Ex command that does not permit one. *E477* *E478* > No ! allowed diff --git a/runtime/doc/motion.txt b/runtime/doc/motion.txt index 3947e583b7..a6c072e489 100644 --- a/runtime/doc/motion.txt +++ b/runtime/doc/motion.txt @@ -1105,7 +1105,7 @@ Finally, navigate to a different webpage, new.com. The history is - third.com - new.com <-- -When the jumpoptions includes "stack", this is the behavior of neovim as well. +When the jumpoptions includes "stack", this is the behavior of Nvim as well. That is, given a jumplist like the following in which CTRL-O has been used to move back three times to location X @@ -1117,8 +1117,8 @@ move back three times to location X 2 213 2 src/nvim/mark.c 3 181 0 src/nvim/mark.c -jumping to location Y results in the locations after the current locations being -removed: +jumping to (new) location Y results in the locations after the current +locations being removed: jump line col file/text 3 1260 8 src/nvim/mark.c diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index 4b832a8606..494a265338 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -4543,15 +4543,15 @@ A jump table for the options with a short description can be found at |Q_op|. *'pumheight'* *'ph'* 'pumheight' 'ph' number (default 0) global - Determines the maximum number of items to show in the popup menu for - Insert mode completion. When zero as much space as available is used. - |ins-completion-menu|. + Maximum number of items to show in the popup menu + (|ins-completion-menu|). Zero means "use available screen space". *'pumwidth'* *'pw'* 'pumwidth' 'pw' number (default 15) global - Determines the minium width to use for the popup menu for Insert mode - completion. |ins-completion-menu|. + Minimum width for the popup menu (|ins-completion-menu|). If the + cursor column + 'pumwidth' exceeds screen width, the popup menu is + nudged to fit on the screen. *'pyxversion'* *'pyx'* 'pyxversion' 'pyx' number (default depends on the build) diff --git a/runtime/doc/vim_diff.txt b/runtime/doc/vim_diff.txt index 64b5830575..e19659a4c4 100644 --- a/runtime/doc/vim_diff.txt +++ b/runtime/doc/vim_diff.txt @@ -195,20 +195,20 @@ Normal commands: "Outline": Type |gO| in |:Man| and |:help| pages to see a document outline. Options: - 'cpoptions' flags: |cpo-_| - 'display' flag `msgsep` to minimize scrolling when showing messages - 'guicursor' works in the terminal - 'fillchars' local to window. flags: `msgsep` (see 'display' above) and `eob` - for |hl-EndOfBuffer| marker - 'inccommand' shows interactive results for |:substitute|-like commands - 'listchars' local to window - 'pumblend' pseudo-transparent popupmenu + 'cpoptions' flags: |cpo-_| + 'display' flags: "msgsep" minimizes scrolling when showing messages + 'guicursor' works in the terminal + 'fillchars' flags: "msgsep" (see 'display'), "eob" for |hl-EndOfBuffer| + marker, "foldopen", "foldsep", "foldclose" + 'inccommand' shows interactive results for |:substitute|-like commands + 'listchars' local to window + 'pumblend' pseudo-transparent popupmenu 'scrollback' - 'signcolumn' supports up to 9 dynamic/fixed columns - 'statusline' supports unlimited alignment sections - 'tabline' %@Func@foo%X can call any function on mouse-click - 'wildoptions' `pum` flag to use popupmenu for wildmode completion - 'winblend' pseudo-transparency in floating windows |api-floatwin| + 'signcolumn' supports up to 9 dynamic/fixed columns + 'statusline' supports unlimited alignment sections + 'tabline' %@Func@foo%X can call any function on mouse-click + 'wildoptions' "pum" flag to use popupmenu for wildmode completion + 'winblend' pseudo-transparency in floating windows |api-floatwin| 'winhighlight' window-local highlights Signs: @@ -336,16 +336,12 @@ Macro/|recording| behavior Motion: The |jumplist| avoids useless/phantom jumps. - When the new option |jumpoptions| includes 'stack', the jumplist behaves - like the tagstack or history in a web browser--jumping from the middle of - the jumplist discards the locations after the jumped-from position - (|jumplist-stack|). - Normal commands: |Q| is the same as |gQ| Options: 'ttimeout', 'ttimeoutlen' behavior was simplified + |jumpoptions| "stack" behavior Shell: Shell output (|:!|, |:make|, …) is always routed through the UI, so it diff --git a/src/nvim/mark.c b/src/nvim/mark.c index 93bc497cf0..8b2f342142 100644 --- a/src/nvim/mark.c +++ b/src/nvim/mark.c @@ -179,8 +179,8 @@ void setpcmark(void) } if (jop_flags & JOP_STACK) { - // If we're somewhere in the middle of the jumplist discard everything - // after the current index. + // jumpoptions=stack: if we're somewhere in the middle of the jumplist + // discard everything after the current index. if (curwin->w_jumplistidx < curwin->w_jumplistlen - 1) { // Discard the rest of the jumplist by cutting the length down to // contain nothing beyond the current index. @@ -1214,14 +1214,14 @@ void cleanup_jumplist(win_T *wp, bool checktail) break; } } + bool mustfree; - if (i >= wp->w_jumplistlen) { // not duplicate + if (i >= wp->w_jumplistlen) { // not duplicate mustfree = false; - } else if (i > from + 1) { // non-adjacent duplicate - // When the jump options include "stack", duplicates are only removed from - // the jumplist when they are adjacent. + } else if (i > from + 1) { // non-adjacent duplicate + // jumpoptions=stack: remove duplicates only when adjacent. mustfree = !(jop_flags & JOP_STACK); - } else { // adjacent duplicate + } else { // adjacent duplicate mustfree = true; } diff --git a/test/functional/normal/jump_spec.lua b/test/functional/normal/jump_spec.lua index d53b5f7415..9e7158e2f7 100644 --- a/test/functional/normal/jump_spec.lua +++ b/test/functional/normal/jump_spec.lua @@ -48,7 +48,7 @@ describe('jumplist', function() end) end) -describe('jumpoptions=stack behaves like browser history', function() +describe("jumpoptions=stack behaves like 'tagstack'", function() before_each(function() clear() feed(':clearjumps')