diff --git a/src/nvim/auevents.lua b/src/nvim/auevents.lua index e61f1a8ce2..84735c293a 100644 --- a/src/nvim/auevents.lua +++ b/src/nvim/auevents.lua @@ -73,10 +73,10 @@ return { 'InsertLeavePre', -- just before leaving Insert mode 'LspAttach', -- after an LSP client attaches to a buffer 'LspDetach', -- after an LSP client detaches from a buffer - 'LspRequest', -- after an LSP request is started, canceled, or completed 'LspNotify', -- after an LSP notice has been sent to the server - 'LspTokenUpdate', -- after a visible LSP token is updated 'LspProgress', -- after a LSP progress update + 'LspRequest', -- after an LSP request is started, canceled, or completed + 'LspTokenUpdate', -- after a visible LSP token is updated 'MenuPopup', -- just before popup menu is displayed 'ModeChanged', -- after changing the mode 'OptionSet', -- after setting any option @@ -160,8 +160,8 @@ return { LspAttach = true, LspDetach = true, LspNotify = true, - LspRequest = true, LspProgress = true, + LspRequest = true, LspTokenUpdate = true, RecordingEnter = true, RecordingLeave = true, diff --git a/src/nvim/eval.lua b/src/nvim/eval.lua index 5125bd0b88..34045c7c9d 100644 --- a/src/nvim/eval.lua +++ b/src/nvim/eval.lua @@ -11015,6 +11015,44 @@ M.funcs = { params = { { 'expr', 'number' } }, signature = 'srand([{expr}])', }, + state = { + args = { 0, 1 }, + base = 1, + desc = [=[ + Return a string which contains characters indicating the + current state. Mostly useful in callbacks that want to do + work that may not always be safe. Roughly this works like: + - callback uses state() to check if work is safe to do. + Yes: then do it right away. + No: add to work queue and add a |SafeState| autocommand. + - When SafeState is triggered and executes your autocommand, + check with `state()` if the work can be done now, and if yes + remove it from the queue and execute. + Remove the autocommand if the queue is now empty. + Also see |mode()|. + + When {what} is given only characters in this string will be + added. E.g, this checks if the screen has scrolled: >vim + if state('s') == '' + " screen has not scrolled + < + These characters indicate the state, generally indicating that + something is busy: + m halfway a mapping, :normal command, feedkeys() or + stuffed command + o operator pending, e.g. after |d| + a Insert mode autocomplete active + x executing an autocommand + S not triggering SafeState, e.g. after |f| or a count + c callback invoked, including timer (repeats for + recursiveness up to "ccc") + s screen has scrolled for messages + ]=], + fast = true, + name = 'state', + params = { { 'what', 'string' } }, + signature = 'state([{what}])', + }, stdioopen = { args = 1, desc = [=[ @@ -11073,44 +11111,6 @@ M.funcs = { returns = 'string|string[]', signature = 'stdpath({what})', }, - state = { - args = { 0, 1 }, - base = 1, - desc = [=[ - Return a string which contains characters indicating the - current state. Mostly useful in callbacks that want to do - work that may not always be safe. Roughly this works like: - - callback uses state() to check if work is safe to do. - Yes: then do it right away. - No: add to work queue and add a |SafeState| autocommand. - - When SafeState is triggered and executes your autocommand, - check with `state()` if the work can be done now, and if yes - remove it from the queue and execute. - Remove the autocommand if the queue is now empty. - Also see |mode()|. - - When {what} is given only characters in this string will be - added. E.g, this checks if the screen has scrolled: >vim - if state('s') == '' - " screen has not scrolled - < - These characters indicate the state, generally indicating that - something is busy: - m halfway a mapping, :normal command, feedkeys() or - stuffed command - o operator pending, e.g. after |d| - a Insert mode autocomplete active - x executing an autocommand - S not triggering SafeState, e.g. after |f| or a count - c callback invoked, including timer (repeats for - recursiveness up to "ccc") - s screen has scrolled for messages - ]=], - fast = true, - name = 'state', - params = { { 'what', 'string' } }, - signature = 'state([{what}])', - }, str2float = { args = 1, base = 1, diff --git a/src/nvim/vvars.lua b/src/nvim/vvars.lua index 2f43f8b32b..ad139bbbfe 100644 --- a/src/nvim/vvars.lua +++ b/src/nvim/vvars.lua @@ -41,6 +41,15 @@ M.vars = { included here, because it will be executed anyway. ]=], }, + cmdbang = { + type = 'integer', + desc = [=[ + Set like v:cmdarg for a file read/write command. When a "!" + was used the value is 1, otherwise it is 0. Note that this + can only be used in autocommands. For user commands || + can be used. + ]=], + }, collate = { type = 'string', desc = [=[ @@ -53,15 +62,6 @@ M.vars = { See |multi-lang|. ]=], }, - cmdbang = { - type = 'integer', - desc = [=[ - Set like v:cmdarg for a file read/write command. When a "!" - was used the value is 1, otherwise it is 0. Note that this - can only be used in autocommands. For user commands || - can be used. - ]=], - }, completed_item = { desc = [=[ Dictionary containing the |complete-items| for the most @@ -118,15 +118,6 @@ M.vars = { VimLeave autocommands will not be executed. ]=], }, - exiting = { - desc = [=[ - Exit code, or |v:null| before invoking the |VimLeavePre| - and |VimLeave| autocmds. See |:q|, |:x| and |:cquit|. - Example: >vim - :au VimLeave * echo "Exit value is " .. v:exiting - < - ]=], - }, echospace = { type = 'integer', desc = [=[ @@ -243,18 +234,13 @@ M.vars = { or |expr7| when used with numeric operators). Read-only. ]=], }, - fcs_reason = { - type = 'string', + exiting = { desc = [=[ - The reason why the |FileChangedShell| event was triggered. - Can be used in an autocommand to decide what to do and/or what - to set v:fcs_choice to. Possible values: - deleted file no longer exists - conflict file contents, mode or timestamp was - changed and buffer is modified - changed file contents has changed - mode mode of file changed - time only file timestamp changed + Exit code, or |v:null| before invoking the |VimLeavePre| + and |VimLeave| autocmds. See |:q|, |:x| and |:cquit|. + Example: >vim + :au VimLeave * echo "Exit value is " .. v:exiting + < ]=], }, fcs_choice = { @@ -280,6 +266,20 @@ M.vars = { Vim behaves like it is empty, there is no warning message. ]=], }, + fcs_reason = { + type = 'string', + desc = [=[ + The reason why the |FileChangedShell| event was triggered. + Can be used in an autocommand to decide what to do and/or what + to set v:fcs_choice to. Possible values: + deleted file no longer exists + conflict file contents, mode or timestamp was + changed and buffer is modified + changed file contents has changed + mode mode of file changed + time only file timestamp changed + ]=], + }, fname = { type = 'string', desc = [=[ @@ -287,6 +287,13 @@ M.vars = { detected. Empty otherwise. ]=], }, + fname_diff = { + type = 'string', + desc = [=[ + The name of the diff (patch) file. Only valid while + evaluating 'patchexpr'. + ]=], + }, fname_in = { type = 'string', desc = [=[ @@ -298,6 +305,13 @@ M.vars = { And set to the swap file name for |SwapExists|. ]=], }, + fname_new = { + type = 'string', + desc = [=[ + The name of the new version of the file. Only valid while + evaluating 'diffexpr'. + ]=], + }, fname_out = { type = 'string', desc = [=[ @@ -313,20 +327,6 @@ M.vars = { file and different from v:fname_in. ]=], }, - fname_new = { - type = 'string', - desc = [=[ - The name of the new version of the file. Only valid while - evaluating 'diffexpr'. - ]=], - }, - fname_diff = { - type = 'string', - desc = [=[ - The name of the diff (patch) file. Only valid while - evaluating 'patchexpr'. - ]=], - }, folddashes = { type = 'string', desc = [=[ @@ -335,13 +335,6 @@ M.vars = { Read-only in the |sandbox|. |fold-foldtext| ]=], }, - foldlevel = { - type = 'integer', - desc = [=[ - Used for 'foldtext': foldlevel of closed fold. - Read-only in the |sandbox|. |fold-foldtext| - ]=], - }, foldend = { type = 'integer', desc = [=[ @@ -349,6 +342,13 @@ M.vars = { Read-only in the |sandbox|. |fold-foldtext| ]=], }, + foldlevel = { + type = 'integer', + desc = [=[ + Used for 'foldtext': foldlevel of closed fold. + Read-only in the |sandbox|. |fold-foldtext| + ]=], + }, foldstart = { type = 'integer', desc = [=[ @@ -435,6 +435,22 @@ M.vars = { 2147483647 on all systems. ]=], }, + mouse_col = { + type = 'integer', + desc = [=[ + Column number for a mouse click obtained with |getchar()|. + This is the screen column number, like with |virtcol()|. The + value is zero when there was no mouse button click. + ]=], + }, + mouse_lnum = { + type = 'integer', + desc = [=[ + Line number for a mouse click obtained with |getchar()|. + This is the text line number, not the screen line number. The + value is zero when there was no mouse button click. + ]=], + }, mouse_win = { type = 'integer', desc = [=[ @@ -450,22 +466,6 @@ M.vars = { The value is zero when there was no mouse button click. ]=], }, - mouse_lnum = { - type = 'integer', - desc = [=[ - Line number for a mouse click obtained with |getchar()|. - This is the text line number, not the screen line number. The - value is zero when there was no mouse button click. - ]=], - }, - mouse_col = { - type = 'integer', - desc = [=[ - Column number for a mouse click obtained with |getchar()|. - This is the screen column number, like with |virtcol()|. The - value is zero when there was no mouse button click. - ]=], - }, msgpack_types = { desc = [=[ Dictionary containing msgpack types used by |msgpackparse()| @@ -516,51 +516,6 @@ M.vars = { than String this will cause trouble. ]=], }, - option_new = { - desc = [=[ - New value of the option. Valid while executing an |OptionSet| - autocommand. - ]=], - }, - option_old = { - desc = [=[ - Old value of the option. Valid while executing an |OptionSet| - autocommand. Depending on the command used for setting and the - kind of option this is either the local old value or the - global old value. - ]=], - }, - option_oldlocal = { - desc = [=[ - Old local value of the option. Valid while executing an - |OptionSet| autocommand. - ]=], - }, - option_oldglobal = { - desc = [=[ - Old global value of the option. Valid while executing an - |OptionSet| autocommand. - ]=], - }, - option_type = { - type = 'string', - desc = [=[ - Scope of the set command. Valid while executing an - |OptionSet| autocommand. Can be either "global" or "local" - ]=], - }, - option_command = { - type = 'string', - desc = [=[ - Command used to set the option. Valid while executing an - |OptionSet| autocommand. - value option was set via ~ - "setlocal" |:setlocal| or `:let l:xxx` - "setglobal" |:setglobal| or `:let g:xxx` - "set" |:set| or |:let| - "modeline" |modeline| - ]=], - }, operator = { type = 'string', desc = [=[ @@ -578,6 +533,51 @@ M.vars = { Read-only. ]=], }, + option_command = { + type = 'string', + desc = [=[ + Command used to set the option. Valid while executing an + |OptionSet| autocommand. + value option was set via ~ + "setlocal" |:setlocal| or `:let l:xxx` + "setglobal" |:setglobal| or `:let g:xxx` + "set" |:set| or |:let| + "modeline" |modeline| + ]=], + }, + option_new = { + desc = [=[ + New value of the option. Valid while executing an |OptionSet| + autocommand. + ]=], + }, + option_old = { + desc = [=[ + Old value of the option. Valid while executing an |OptionSet| + autocommand. Depending on the command used for setting and the + kind of option this is either the local old value or the + global old value. + ]=], + }, + option_oldglobal = { + desc = [=[ + Old global value of the option. Valid while executing an + |OptionSet| autocommand. + ]=], + }, + option_oldlocal = { + desc = [=[ + Old local value of the option. Valid while executing an + |OptionSet| autocommand. + ]=], + }, + option_type = { + type = 'string', + desc = [=[ + Scope of the set command. Valid while executing an + |OptionSet| autocommand. Can be either "global" or "local" + ]=], + }, prevcount = { type = 'integer', desc = [=[ @@ -641,6 +641,17 @@ M.vars = { hit-enter prompt. ]=], }, + searchforward = { + type = 'integer', + desc = [=[ + Search direction: 1 after a forward search, 0 after a + backward search. It is reset to forward when directly setting + the last search pattern, see |quote/|. + Note that the value is restored when returning from a + function. |function-search-undo|. + Read-write. + ]=], + }, servername = { type = 'string', desc = [=[ @@ -664,17 +675,6 @@ M.vars = { Note the contents of $NVIM may change in the future. ]=], }, - searchforward = { - type = 'integer', - desc = [=[ - Search direction: 1 after a forward search, 0 after a - backward search. It is reset to forward when directly setting - the last search pattern, see |quote/|. - Note that the value is restored when returning from a - function. |function-search-undo|. - Read-write. - ]=], - }, shell_error = { type = 'integer', desc = [=[ @@ -709,14 +709,6 @@ M.vars = { < ]=], }, - swapname = { - type = 'string', - desc = [=[ - Name of the swapfile found. - Only valid during |SwapExists| event. - Read-only. - ]=], - }, swapchoice = { type = 'string', desc = [=[ @@ -743,6 +735,14 @@ M.vars = { For ":edit +cmd file" the value is ":cmd\r". ]=], }, + swapname = { + type = 'string', + desc = [=[ + Name of the swapfile found. + Only valid during |SwapExists| event. + Read-only. + ]=], + }, t_blob = { type = 'integer', tags = { 'v:t_TYPE' }, @@ -776,15 +776,6 @@ M.vars = { type = 'integer', desc = 'Value of |String| type. Read-only. See: |type()|', }, - termresponse = { - type = 'string', - desc = [=[ - The value of the most recent OSC or DCS control sequence - received by Nvim from the terminal. This can be read in a - |TermResponse| event handler after querying the terminal using - another escape sequence. - ]=], - }, termrequest = { type = 'string', desc = [=[ @@ -794,6 +785,15 @@ M.vars = { to queries from embedded applications. ]=], }, + termresponse = { + type = 'string', + desc = [=[ + The value of the most recent OSC or DCS control sequence + received by Nvim from the terminal. This can be read in a + |TermResponse| event handler after querying the terminal using + another escape sequence. + ]=], + }, testing = { desc = [=[ Must be set before using `test_garbagecollect_now()`. @@ -849,6 +849,13 @@ M.vars = { < ]=], }, + vim_did_enter = { + type = 'integer', + desc = [=[ + 0 during startup, 1 just before |VimEnter|. + Read-only. + ]=], + }, virtnum = { type = 'integer', desc = [=[ @@ -859,13 +866,6 @@ M.vars = { Read-only. ]=], }, - vim_did_enter = { - type = 'integer', - desc = [=[ - 0 during startup, 1 just before |VimEnter|. - Read-only. - ]=], - }, warningmsg = { type = 'string', desc = [=[