diff options
Diffstat (limited to 'runtime')
-rw-r--r-- | runtime/doc/eval.txt | 8 | ||||
-rw-r--r-- | runtime/doc/index.txt | 5 | ||||
-rw-r--r-- | runtime/doc/intro.txt | 7 | ||||
-rw-r--r-- | runtime/doc/lua.txt | 14 | ||||
-rw-r--r-- | runtime/doc/nvim_terminal_emulator.txt | 5 | ||||
-rw-r--r-- | runtime/doc/provider.txt | 1 | ||||
-rw-r--r-- | runtime/doc/repeat.txt | 8 | ||||
-rw-r--r-- | runtime/doc/treesitter.txt | 2 | ||||
-rw-r--r-- | runtime/doc/usr_05.txt | 6 | ||||
-rw-r--r-- | runtime/lua/vim/lsp/diagnostic.lua | 2 | ||||
-rw-r--r-- | runtime/lua/vim/shared.lua | 11 |
11 files changed, 44 insertions, 25 deletions
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index 5d889983e3..ba3bc0cdb6 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -4707,9 +4707,9 @@ getcurpos() Get the position of the cursor. This is like getpos('.'), but |winrestview()| for restoring more state. getcwd([{winnr}[, {tabnr}]]) *getcwd()* - With no arguments the result is a String, which is the name of - the current effective working directory. With {winnr} or - {tabnr} the working directory of that scope is returned. + With no arguments, returns the name of the effective + |current-directory|. With {winnr} or {tabnr} the working + directory of that scope is returned. Tabs and windows are identified by their respective numbers, 0 means current tab or window. Missing argument implies 0. Thus the following are equivalent: > @@ -9095,7 +9095,7 @@ system({cmd} [, {input}]) *system()* *E677* *E5677* Note: system() cannot write to or read from backgrounded ("&") shell commands, e.g.: > - :echo system("cat - &", "foo")) + :echo system("cat - &", "foo") < which is equivalent to: > $ echo foo | bash -c 'cat - &' < The pipes are disconnected (unless overridden by shell diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt index 9a279ad880..b69b294820 100644 --- a/runtime/doc/index.txt +++ b/runtime/doc/index.txt @@ -1096,8 +1096,9 @@ tag command action in Command-line editing mode ~ ============================================================================== 5. Terminal mode *terminal-mode-index* -In a |terminal| buffer all keys except |CTRL-\_CTRL-N| are forwarded to the -terminal job. Use CTRL-\_CTRL-N to go to Normal mode. +In a |terminal| buffer all keys except CTRL-\ are forwarded to the terminal +job. If CTRL-\ is pressed, the next key is forwarded unless it is CTRL-N. +Use |CTRL-\_CTRL-N| to go to Normal mode. You found it, Arthur! *holy-grail* diff --git a/runtime/doc/intro.txt b/runtime/doc/intro.txt index f739e2e88b..2baf3a247f 100644 --- a/runtime/doc/intro.txt +++ b/runtime/doc/intro.txt @@ -454,9 +454,10 @@ Ex mode Like Command-line mode, but after entering a command command line. |Ex-mode| *Terminal-mode* -Terminal mode In Terminal mode all input (except |c_CTRL-\_CTRL-N|) - is sent to the process running in the current - |terminal| buffer. +Terminal mode In Terminal mode all input (except CTRL-\) is sent to + the process running in the current |terminal| buffer. + If CTRL-\ is pressed, the next key is sent unless it + is CTRL-N (|CTRL-\_CTRL-N|). If the 'showmode' option is on "-- TERMINAL --" is shown at the bottom of the window. diff --git a/runtime/doc/lua.txt b/runtime/doc/lua.txt index 3fd3875557..5731569947 100644 --- a/runtime/doc/lua.txt +++ b/runtime/doc/lua.txt @@ -907,7 +907,7 @@ vim.fn.{func}({...}) *vim.fn* To call autoload functions, use the syntax: > vim.fn['some#function']({...}) < - Unlike vim.api.|nvim_call_function| this converts directly between Vim + Unlike vim.api.|nvim_call_function()| this converts directly between Vim objects and Lua objects. If the Vim function returns a float, it will be represented directly as a Lua number. Empty lists and dictionaries both are represented by an empty table. @@ -1268,7 +1268,17 @@ schedule_wrap({cb}) *vim.schedule_wrap()* deep_equal({a}, {b}) *vim.deep_equal()* - TODO: Documentation + Deep compare values for equality + + Tables are compared recursively unless they both provide the `eq` methamethod. + All other types are compared using the equality `==` operator. + + Parameters: ~ + {a} first value + {b} second value + + Return: ~ + `true` if values are equals, else `false` . deepcopy({orig}) *vim.deepcopy()* Returns a deep copy of the given object. Non-table objects are diff --git a/runtime/doc/nvim_terminal_emulator.txt b/runtime/doc/nvim_terminal_emulator.txt index 0bf58f85fc..f61d2905be 100644 --- a/runtime/doc/nvim_terminal_emulator.txt +++ b/runtime/doc/nvim_terminal_emulator.txt @@ -47,8 +47,9 @@ Input *terminal-input* To send input, enter |Terminal-mode| using any command that would enter "insert mode" in a normal buffer, such as |i| or |:startinsert|. In this mode all keys -except <C-\><C-N> are sent to the underlying program. Use <C-\><C-N> to return -to normal-mode. |CTRL-\_CTRL-N| +except <C-\> are sent to the underlying program. If <C-\> is pressed, the +next key is sent unless it is <C-N>. Use <C-\><C-N> to return to normal-mode. +|CTRL-\_CTRL-N| Terminal-mode forces these local options: diff --git a/runtime/doc/provider.txt b/runtime/doc/provider.txt index be895f9e4e..b785010699 100644 --- a/runtime/doc/provider.txt +++ b/runtime/doc/provider.txt @@ -207,6 +207,7 @@ registers. Nvim looks for these clipboard tools, in order of priority: - lemonade (for SSH) https://github.com/pocke/lemonade - doitclient (for SSH) http://www.chiark.greenend.org.uk/~sgtatham/doit/ - win32yank (Windows) + - termux (via termux-clipboard-set, termux-clipboard-set) - tmux (if $TMUX is set) *g:clipboard* diff --git a/runtime/doc/repeat.txt b/runtime/doc/repeat.txt index ed770434d5..61428aefb0 100644 --- a/runtime/doc/repeat.txt +++ b/runtime/doc/repeat.txt @@ -201,10 +201,12 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|. When [!] is included, all found files are sourced. Else only the first found file is sourced. - When [where] is omitted only 'runtimepath' is used. + When [where] is omitted, first 'runtimepath' is + searched, then directories under "start" in 'packpath' + are searched. Other values: - START search under "start" in 'packpath' - OPT search under "opt" in 'packpath' + START search only under "start" in 'packpath' + OPT search only under "opt" in 'packpath' PACK search under "start" and "opt" in 'packpath' ALL first use 'runtimepath', then search diff --git a/runtime/doc/treesitter.txt b/runtime/doc/treesitter.txt index 86316b8ac5..ac10aeec88 100644 --- a/runtime/doc/treesitter.txt +++ b/runtime/doc/treesitter.txt @@ -296,7 +296,7 @@ for those who want to experiment with this feature and contribute to its development. Highlights are defined in the same query format as in the tree-sitter highlight -crate, which some limitations and additions. Set a highlight query for a +crate, with some limitations and additions. Set a highlight query for a buffer with this code: > local query = [[ diff --git a/runtime/doc/usr_05.txt b/runtime/doc/usr_05.txt index d0206ba82d..2edef0ca23 100644 --- a/runtime/doc/usr_05.txt +++ b/runtime/doc/usr_05.txt @@ -175,10 +175,8 @@ This switches on three very clever mechanisms: *restore-cursor* *last-position-jump* > - autocmd BufReadPost * - \ if line("'\"") >= 1 && line("'\"") <= line("$") && &ft !~# 'commit' - \ | exe "normal! g`\"" - \ | endif + autocmd BufRead * autocmd FileType <buffer> ++once + \ if &ft !~# 'commit\|rebase' && line("'\"") > 1 && line("'\"") <= line("$") | exe 'normal! g`"' | endif Another autocommand. This time it is used after reading any file. The complicated stuff after it checks if the '" mark is defined, and jumps to it diff --git a/runtime/lua/vim/lsp/diagnostic.lua b/runtime/lua/vim/lsp/diagnostic.lua index 41a62da522..ccd325b1ac 100644 --- a/runtime/lua/vim/lsp/diagnostic.lua +++ b/runtime/lua/vim/lsp/diagnostic.lua @@ -449,7 +449,7 @@ end --- endif --- return sl --- endfunction ---- let &l:statusline = '%#MyStatuslineLSP#LSP '.LspStatus() +--- autocmd BufWinEnter * let &l:statusline = '%#MyStatuslineLSP#LSP '.LspStatus() --- </pre> --- ---@param bufnr number The buffer number diff --git a/runtime/lua/vim/shared.lua b/runtime/lua/vim/shared.lua index 032b2b2cb5..18c1e21049 100644 --- a/runtime/lua/vim/shared.lua +++ b/runtime/lua/vim/shared.lua @@ -267,18 +267,23 @@ function vim.tbl_deep_extend(behavior, ...) end --- Deep compare values for equality +--- +--- Tables are compared recursively unless they both provide the `eq` methamethod. +--- All other types are compared using the equality `==` operator. +---@param a first value +---@param b second value +---@returns `true` if values are equals, else `false`. function vim.deep_equal(a, b) if a == b then return true end if type(a) ~= type(b) then return false end if type(a) == 'table' then - -- TODO improve this algorithm's performance. for k, v in pairs(a) do if not vim.deep_equal(v, b[k]) then return false end end - for k, v in pairs(b) do - if not vim.deep_equal(v, a[k]) then + for k, _ in pairs(b) do + if a[k] == nil then return false end end |