vvars.lua 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793
  1. --- @meta _
  2. -- THIS FILE IS GENERATED
  3. -- DO NOT EDIT
  4. error('Cannot require a meta file')
  5. --- @class vim.v
  6. vim.v = ...
  7. --- The command line arguments Vim was invoked with. This is a
  8. --- list of strings. The first item is the Vim command.
  9. --- See `v:progpath` for the command with full path.
  10. --- @type string[]
  11. vim.v.argv = ...
  12. --- Argument for evaluating 'formatexpr' and used for the typed
  13. --- character when using <expr> in an abbreviation `:map-<expr>`.
  14. --- It is also used by the `InsertCharPre` and `InsertEnter` events.
  15. --- @type string
  16. vim.v.char = ...
  17. --- The name of the character encoding of a file to be converted.
  18. --- Only valid while evaluating the 'charconvert' option.
  19. --- @type string
  20. vim.v.charconvert_from = ...
  21. --- The name of the character encoding of a file after conversion.
  22. --- Only valid while evaluating the 'charconvert' option.
  23. --- @type string
  24. vim.v.charconvert_to = ...
  25. --- The extra arguments ("++p", "++enc=", "++ff=") given to a file
  26. --- read/write command. This is set before an autocommand event
  27. --- for a file read/write command is triggered. There is a
  28. --- leading space to make it possible to append this variable
  29. --- directly after the read/write command. Note: "+cmd" isn't
  30. --- included here, because it will be executed anyway.
  31. --- @type string
  32. vim.v.cmdarg = ...
  33. --- Set like v:cmdarg for a file read/write command. When a "!"
  34. --- was used the value is 1, otherwise it is 0. Note that this
  35. --- can only be used in autocommands. For user commands `<bang>`
  36. --- can be used.
  37. --- @type integer
  38. vim.v.cmdbang = ...
  39. --- The current locale setting for collation order of the runtime
  40. --- environment. This allows Vim scripts to be aware of the
  41. --- current locale encoding. Technical: it's the value of
  42. --- LC_COLLATE. When not using a locale the value is "C".
  43. --- This variable can not be set directly, use the `:language`
  44. --- command.
  45. --- See `multi-lang`.
  46. --- @type string
  47. vim.v.collate = ...
  48. --- Dictionary containing the `complete-items` for the most
  49. --- recently completed word after `CompleteDone`. Empty if the
  50. --- completion failed, or after leaving and re-entering insert
  51. --- mode.
  52. --- Note: Plugins can modify the value to emulate the builtin
  53. --- `CompleteDone` event behavior.
  54. --- @type vim.v.completed_item
  55. vim.v.completed_item = ...
  56. --- The count given for the last Normal mode command. Can be used
  57. --- to get the count before a mapping. Read-only. Example:
  58. ---
  59. --- ```vim
  60. --- :map _x :<C-U>echo "the count is " .. v:count<CR>
  61. --- ```
  62. ---
  63. --- Note: The <C-U> is required to remove the line range that you
  64. --- get when typing ':' after a count.
  65. --- When there are two counts, as in "3d2w", they are multiplied,
  66. --- just like what happens in the command, "d6w" for the example.
  67. --- Also used for evaluating the 'formatexpr' option.
  68. --- @type integer
  69. vim.v.count = ...
  70. --- Just like "v:count", but defaults to one when no count is
  71. --- used.
  72. --- @type integer
  73. vim.v.count1 = ...
  74. --- The current locale setting for characters of the runtime
  75. --- environment. This allows Vim scripts to be aware of the
  76. --- current locale encoding. Technical: it's the value of
  77. --- LC_CTYPE. When not using a locale the value is "C".
  78. --- This variable can not be set directly, use the `:language`
  79. --- command.
  80. --- See `multi-lang`.
  81. --- @type string
  82. vim.v.ctype = ...
  83. --- Normally zero. When a deadly signal is caught it's set to
  84. --- one. When multiple signals are caught the number increases.
  85. --- Can be used in an autocommand to check if Vim didn't
  86. --- terminate normally.
  87. --- Example:
  88. ---
  89. --- ```vim
  90. --- :au VimLeave * if v:dying | echo "\nAAAAaaaarrrggghhhh!!!\n" | endif
  91. --- ```
  92. ---
  93. --- Note: if another deadly signal is caught when v:dying is one,
  94. --- VimLeave autocommands will not be executed.
  95. --- @type integer
  96. vim.v.dying = ...
  97. --- Number of screen cells that can be used for an `:echo` message
  98. --- in the last screen line before causing the `hit-enter-prompt`.
  99. --- Depends on 'showcmd', 'ruler' and 'columns'. You need to
  100. --- check 'cmdheight' for whether there are full-width lines
  101. --- available above the last line.
  102. --- @type integer
  103. vim.v.echospace = ...
  104. --- Last given error message.
  105. --- Modifiable (can be set).
  106. --- Example:
  107. ---
  108. --- ```vim
  109. --- let v:errmsg = ""
  110. --- silent! next
  111. --- if v:errmsg != ""
  112. --- " ... handle error
  113. --- ```
  114. --- @type string
  115. vim.v.errmsg = ...
  116. --- Errors found by assert functions, such as `assert_true()`.
  117. --- This is a list of strings.
  118. --- The assert functions append an item when an assert fails.
  119. --- The return value indicates this: a one is returned if an item
  120. --- was added to v:errors, otherwise zero is returned.
  121. --- To remove old results make it empty:
  122. ---
  123. --- ```vim
  124. --- let v:errors = []
  125. --- ```
  126. ---
  127. --- If v:errors is set to anything but a list it is made an empty
  128. --- list by the assert function.
  129. --- @type string[]
  130. vim.v.errors = ...
  131. --- Dictionary of event data for the current `autocommand`. Valid
  132. --- only during the event lifetime; storing or passing v:event is
  133. --- invalid! Copy it instead:
  134. ---
  135. --- ```vim
  136. --- au TextYankPost * let g:foo = deepcopy(v:event)
  137. --- ```
  138. ---
  139. --- Keys vary by event; see the documentation for the specific
  140. --- event, e.g. `DirChanged` or `TextYankPost`.
  141. --- KEY DESCRIPTION ~
  142. --- abort Whether the event triggered during
  143. --- an aborting condition (e.g. `c_Esc` or
  144. --- `c_CTRL-C` for `CmdlineLeave`).
  145. --- chan `channel-id`
  146. --- info Dict of arbitrary event data.
  147. --- cmdlevel Level of cmdline.
  148. --- cmdtype Type of cmdline, `cmdline-char`.
  149. --- cwd Current working directory.
  150. --- inclusive Motion is `inclusive`, else exclusive.
  151. --- scope Event-specific scope name.
  152. --- operator Current `operator`. Also set for Ex
  153. --- commands (unlike `v:operator`). For
  154. --- example if `TextYankPost` is triggered
  155. --- by the `:yank` Ex command then
  156. --- `v:event.operator` is "y".
  157. --- regcontents Text stored in the register as a
  158. --- `readfile()`-style list of lines.
  159. --- regname Requested register (e.g "x" for "xyy)
  160. --- or the empty string for an unnamed
  161. --- operation.
  162. --- regtype Type of register as returned by
  163. --- `getregtype()`.
  164. --- visual Selection is visual (as opposed to,
  165. --- e.g., via motion).
  166. --- completed_item Current selected complete item on
  167. --- `CompleteChanged`, Is `{}` when no complete
  168. --- item selected.
  169. --- height Height of popup menu on `CompleteChanged`
  170. --- width Width of popup menu on `CompleteChanged`
  171. --- row Row count of popup menu on `CompleteChanged`,
  172. --- relative to screen.
  173. --- col Col count of popup menu on `CompleteChanged`,
  174. --- relative to screen.
  175. --- size Total number of completion items on
  176. --- `CompleteChanged`.
  177. --- scrollbar Is `v:true` if popup menu have scrollbar, or
  178. --- `v:false` if not.
  179. --- changed_window Is `v:true` if the event fired while
  180. --- changing window (or tab) on `DirChanged`.
  181. --- status Job status or exit code, -1 means "unknown". `TermClose`
  182. --- reason Reason for completion being done. `CompleteDone`
  183. --- complete_word The word that was selected, empty if abandoned complete.
  184. --- complete_type See `complete_info_mode`
  185. --- @type vim.v.event
  186. vim.v.event = ...
  187. --- The value of the exception most recently caught and not
  188. --- finished. See also `v:stacktrace`, `v:throwpoint`, and
  189. --- `throw-variables`.
  190. --- Example:
  191. ---
  192. --- ```vim
  193. --- try
  194. --- throw "oops"
  195. --- catch /.*/
  196. --- echo "caught " .. v:exception
  197. --- endtry
  198. --- ```
  199. ---
  200. --- Output: "caught oops".
  201. --- @type string
  202. vim.v.exception = ...
  203. --- Exit code, or `v:null` before invoking the `VimLeavePre`
  204. --- and `VimLeave` autocmds. See `:q`, `:x` and `:cquit`.
  205. --- Example:
  206. ---
  207. --- ```vim
  208. --- :au VimLeave * echo "Exit value is " .. v:exiting
  209. --- ```
  210. --- @type integer?
  211. vim.v.exiting = ...
  212. --- Special value used to put "false" in JSON and msgpack. See
  213. --- `json_encode()`. This value is converted to "v:false" when used
  214. --- as a String (e.g. in `expr5` with string concatenation
  215. --- operator) and to zero when used as a Number (e.g. in `expr5`
  216. --- or `expr7` when used with numeric operators). Read-only.
  217. --- @type boolean
  218. vim.v['false'] = ...
  219. --- What should happen after a `FileChangedShell` event was
  220. --- triggered. Can be used in an autocommand to tell Vim what to
  221. --- do with the affected buffer:
  222. --- reload Reload the buffer (does not work if
  223. --- the file was deleted).
  224. --- edit Reload the buffer and detect the
  225. --- values for options such as
  226. --- 'fileformat', 'fileencoding', 'binary'
  227. --- (does not work if the file was
  228. --- deleted).
  229. --- ask Ask the user what to do, as if there
  230. --- was no autocommand. Except that when
  231. --- only the timestamp changed nothing
  232. --- will happen.
  233. --- <empty> Nothing, the autocommand should do
  234. --- everything that needs to be done.
  235. --- The default is empty. If another (invalid) value is used then
  236. --- Vim behaves like it is empty, there is no warning message.
  237. --- @type string
  238. vim.v.fcs_choice = ...
  239. --- The reason why the `FileChangedShell` event was triggered.
  240. --- Can be used in an autocommand to decide what to do and/or what
  241. --- to set v:fcs_choice to. Possible values:
  242. --- deleted file no longer exists
  243. --- conflict file contents, mode or timestamp was
  244. --- changed and buffer is modified
  245. --- changed file contents has changed
  246. --- mode mode of file changed
  247. --- time only file timestamp changed
  248. --- @type string
  249. vim.v.fcs_reason = ...
  250. --- When evaluating 'includeexpr': the file name that was
  251. --- detected. Empty otherwise.
  252. --- @type string
  253. vim.v.fname = ...
  254. --- The name of the diff (patch) file. Only valid while
  255. --- evaluating 'patchexpr'.
  256. --- @type string
  257. vim.v.fname_diff = ...
  258. --- The name of the input file. Valid while evaluating:
  259. --- option used for ~
  260. --- 'charconvert' file to be converted
  261. --- 'diffexpr' original file
  262. --- 'patchexpr' original file
  263. --- And set to the swap file name for `SwapExists`.
  264. --- @type string
  265. vim.v.fname_in = ...
  266. --- The name of the new version of the file. Only valid while
  267. --- evaluating 'diffexpr'.
  268. --- @type string
  269. vim.v.fname_new = ...
  270. --- The name of the output file. Only valid while
  271. --- evaluating:
  272. --- option used for ~
  273. --- 'charconvert' resulting converted file [1]
  274. --- 'diffexpr' output of diff
  275. --- 'patchexpr' resulting patched file
  276. --- [1] When doing conversion for a write command (e.g., ":w
  277. --- file") it will be equal to v:fname_in. When doing conversion
  278. --- for a read command (e.g., ":e file") it will be a temporary
  279. --- file and different from v:fname_in.
  280. --- @type string
  281. vim.v.fname_out = ...
  282. --- Used for 'foldtext': dashes representing foldlevel of a closed
  283. --- fold.
  284. --- Read-only in the `sandbox`. `fold-foldtext`
  285. --- @type string
  286. vim.v.folddashes = ...
  287. --- Used for 'foldtext': last line of closed fold.
  288. --- Read-only in the `sandbox`. `fold-foldtext`
  289. --- @type integer
  290. vim.v.foldend = ...
  291. --- Used for 'foldtext': foldlevel of closed fold.
  292. --- Read-only in the `sandbox`. `fold-foldtext`
  293. --- @type integer
  294. vim.v.foldlevel = ...
  295. --- Used for 'foldtext': first line of closed fold.
  296. --- Read-only in the `sandbox`. `fold-foldtext`
  297. --- @type integer
  298. vim.v.foldstart = ...
  299. --- Variable that indicates whether search highlighting is on.
  300. --- Setting it makes sense only if 'hlsearch' is enabled. Setting
  301. --- this variable to zero acts like the `:nohlsearch` command,
  302. --- setting it to one acts like
  303. ---
  304. --- ```vim
  305. --- let &hlsearch = &hlsearch
  306. --- ```
  307. ---
  308. --- Note that the value is restored when returning from a
  309. --- function. `function-search-undo`.
  310. --- @type integer
  311. vim.v.hlsearch = ...
  312. --- Used for the `InsertEnter` and `InsertChange` autocommand
  313. --- events. Values:
  314. --- i Insert mode
  315. --- r Replace mode
  316. --- v Virtual Replace mode
  317. --- @type string
  318. vim.v.insertmode = ...
  319. --- Key of the current item of a `Dictionary`. Only valid while
  320. --- evaluating the expression used with `map()` and `filter()`.
  321. --- Read-only.
  322. --- @type string
  323. vim.v.key = ...
  324. --- The current locale setting for messages of the runtime
  325. --- environment. This allows Vim scripts to be aware of the
  326. --- current language. Technical: it's the value of LC_MESSAGES.
  327. --- The value is system dependent.
  328. --- This variable can not be set directly, use the `:language`
  329. --- command.
  330. --- It can be different from `v:ctype` when messages are desired
  331. --- in a different language than what is used for character
  332. --- encoding. See `multi-lang`.
  333. --- @type string
  334. vim.v.lang = ...
  335. --- The current locale setting for time messages of the runtime
  336. --- environment. This allows Vim scripts to be aware of the
  337. --- current language. Technical: it's the value of LC_TIME.
  338. --- This variable can not be set directly, use the `:language`
  339. --- command. See `multi-lang`.
  340. --- @type string
  341. vim.v.lc_time = ...
  342. --- Line number for the 'foldexpr' `fold-expr`, 'formatexpr',
  343. --- 'indentexpr' and 'statuscolumn' expressions, tab page number
  344. --- for 'guitablabel' and 'guitabtooltip'. Only valid while one of
  345. --- these expressions is being evaluated. Read-only when in the
  346. --- `sandbox`.
  347. --- @type integer
  348. vim.v.lnum = ...
  349. --- Prefix for calling Lua functions from expressions.
  350. --- See `v:lua-call` for more information.
  351. --- @type any
  352. vim.v.lua = ...
  353. --- Maximum line length. Depending on where it is used it can be
  354. --- screen columns, characters or bytes. The value currently is
  355. --- 2147483647 on all systems.
  356. --- @type integer
  357. vim.v.maxcol = ...
  358. --- Column number for a mouse click obtained with `getchar()`.
  359. --- This is the screen column number, like with `virtcol()`. The
  360. --- value is zero when there was no mouse button click.
  361. --- @type integer
  362. vim.v.mouse_col = ...
  363. --- Line number for a mouse click obtained with `getchar()`.
  364. --- This is the text line number, not the screen line number. The
  365. --- value is zero when there was no mouse button click.
  366. --- @type integer
  367. vim.v.mouse_lnum = ...
  368. --- Window number for a mouse click obtained with `getchar()`.
  369. --- First window has number 1, like with `winnr()`. The value is
  370. --- zero when there was no mouse button click.
  371. --- @type integer
  372. vim.v.mouse_win = ...
  373. --- `window-ID` for a mouse click obtained with `getchar()`.
  374. --- The value is zero when there was no mouse button click.
  375. --- @type integer
  376. vim.v.mouse_winid = ...
  377. --- Dictionary containing msgpack types used by `msgpackparse()`
  378. --- and `msgpackdump()`. All types inside dictionary are fixed
  379. --- (not editable) empty lists. To check whether some list is one
  380. --- of msgpack types, use `is` operator.
  381. --- @type table
  382. vim.v.msgpack_types = ...
  383. --- Special value used to put "null" in JSON and NIL in msgpack.
  384. --- See `json_encode()`. This value is converted to "v:null" when
  385. --- used as a String (e.g. in `expr5` with string concatenation
  386. --- operator) and to zero when used as a Number (e.g. in `expr5`
  387. --- or `expr7` when used with numeric operators). Read-only.
  388. --- In some places `v:null` can be used for a List, Dict, etc.
  389. --- that is not set. That is slightly different than an empty
  390. --- List, Dict, etc.
  391. --- @type vim.NIL
  392. vim.v.null = ...
  393. --- Maximum value of a number.
  394. --- @type integer
  395. vim.v.numbermax = ...
  396. --- Minimum value of a number (negative).
  397. --- @type integer
  398. vim.v.numbermin = ...
  399. --- Number of bits in a Number. This is normally 64, but on some
  400. --- systems it may be 32.
  401. --- @type integer
  402. vim.v.numbersize = ...
  403. --- List of file names that is loaded from the `shada` file on
  404. --- startup. These are the files that Vim remembers marks for.
  405. --- The length of the List is limited by the ' argument of the
  406. --- 'shada' option (default is 100).
  407. --- When the `shada` file is not used the List is empty.
  408. --- Also see `:oldfiles` and `c_#<`.
  409. --- The List can be modified, but this has no effect on what is
  410. --- stored in the `shada` file later. If you use values other
  411. --- than String this will cause trouble.
  412. --- @type string[]
  413. vim.v.oldfiles = ...
  414. --- The last operator given in Normal mode. This is a single
  415. --- character except for commands starting with <g> or <z>,
  416. --- in which case it is two characters. Best used alongside
  417. --- `v:prevcount` and `v:register`. Useful if you want to cancel
  418. --- Operator-pending mode and then use the operator, e.g.:
  419. ---
  420. --- ```vim
  421. --- :omap O <Esc>:call MyMotion(v:operator)<CR>
  422. --- ```
  423. ---
  424. --- The value remains set until another operator is entered, thus
  425. --- don't expect it to be empty.
  426. --- v:operator is not set for `:delete`, `:yank` or other Ex
  427. --- commands.
  428. --- Read-only.
  429. --- @type string
  430. vim.v.operator = ...
  431. --- Command used to set the option. Valid while executing an
  432. --- `OptionSet` autocommand.
  433. --- value option was set via ~
  434. --- "setlocal" `:setlocal` or `:let l:xxx`
  435. --- "setglobal" `:setglobal` or `:let g:xxx`
  436. --- "set" `:set` or `:let`
  437. --- "modeline" `modeline`
  438. --- @type string
  439. vim.v.option_command = ...
  440. --- New value of the option. Valid while executing an `OptionSet`
  441. --- autocommand.
  442. --- @type any
  443. vim.v.option_new = ...
  444. --- Old value of the option. Valid while executing an `OptionSet`
  445. --- autocommand. Depending on the command used for setting and the
  446. --- kind of option this is either the local old value or the
  447. --- global old value.
  448. --- @type any
  449. vim.v.option_old = ...
  450. --- Old global value of the option. Valid while executing an
  451. --- `OptionSet` autocommand.
  452. --- @type any
  453. vim.v.option_oldglobal = ...
  454. --- Old local value of the option. Valid while executing an
  455. --- `OptionSet` autocommand.
  456. --- @type any
  457. vim.v.option_oldlocal = ...
  458. --- Scope of the set command. Valid while executing an
  459. --- `OptionSet` autocommand. Can be either "global" or "local"
  460. --- @type string
  461. vim.v.option_type = ...
  462. --- The count given for the last but one Normal mode command.
  463. --- This is the v:count value of the previous command. Useful if
  464. --- you want to cancel Visual or Operator-pending mode and then
  465. --- use the count, e.g.:
  466. ---
  467. --- ```vim
  468. --- :vmap % <Esc>:call MyFilter(v:prevcount)<CR>
  469. --- ```
  470. ---
  471. --- Read-only.
  472. --- @type integer
  473. vim.v.prevcount = ...
  474. --- Normally zero. Set to one after using ":profile start".
  475. --- See `profiling`.
  476. --- @type integer
  477. vim.v.profiling = ...
  478. --- The name by which Nvim was invoked (with path removed).
  479. --- Read-only.
  480. --- @type string
  481. vim.v.progname = ...
  482. --- Absolute path to the current running Nvim.
  483. --- Read-only.
  484. --- @type string
  485. vim.v.progpath = ...
  486. --- The name of the register in effect for the current normal mode
  487. --- command (regardless of whether that command actually used a
  488. --- register). Or for the currently executing normal mode mapping
  489. --- (use this in custom commands that take a register).
  490. --- If none is supplied it is the default register '"', unless
  491. --- 'clipboard' contains "unnamed" or "unnamedplus", then it is
  492. --- "*" or '+'.
  493. --- Also see `getreg()` and `setreg()`
  494. --- @type string
  495. vim.v.register = ...
  496. --- Relative line number for the 'statuscolumn' expression.
  497. --- Read-only.
  498. --- @type integer
  499. vim.v.relnum = ...
  500. --- String describing the script or function that caused the
  501. --- screen to scroll up. It's only set when it is empty, thus the
  502. --- first reason is remembered. It is set to "Unknown" for a
  503. --- typed command.
  504. --- This can be used to find out why your script causes the
  505. --- hit-enter prompt.
  506. --- @type string
  507. vim.v.scrollstart = ...
  508. --- Search direction: 1 after a forward search, 0 after a
  509. --- backward search. It is reset to forward when directly setting
  510. --- the last search pattern, see `quote/`.
  511. --- Note that the value is restored when returning from a
  512. --- function. `function-search-undo`.
  513. --- Read-write.
  514. --- @type integer
  515. vim.v.searchforward = ...
  516. --- Primary listen-address of Nvim, the first item returned by
  517. --- `serverlist()`. Usually this is the named pipe created by Nvim
  518. --- at `startup` or given by `--listen` (or the deprecated
  519. --- `$NVIM_LISTEN_ADDRESS` env var).
  520. ---
  521. --- See also `serverstart()` `serverstop()`.
  522. --- Read-only.
  523. ---
  524. --- *$NVIM*
  525. --- $NVIM is set by `terminal` and `jobstart()`, and is thus
  526. --- a hint that the current environment is a subprocess of Nvim.
  527. --- Example:
  528. ---
  529. --- ```vim
  530. --- if $NVIM
  531. --- echo nvim_get_chan_info(v:parent)
  532. --- endif
  533. --- ```
  534. ---
  535. --- Note the contents of $NVIM may change in the future.
  536. --- @type string
  537. vim.v.servername = ...
  538. --- Result of the last shell command. When non-zero, the last
  539. --- shell command had an error. When zero, there was no problem.
  540. --- This only works when the shell returns the error code to Vim.
  541. --- The value -1 is often used when the command could not be
  542. --- executed. Read-only.
  543. --- Example:
  544. ---
  545. --- ```vim
  546. --- !mv foo bar
  547. --- if v:shell_error
  548. --- echo 'could not rename "foo" to "bar"!'
  549. --- endif
  550. --- ```
  551. --- @type integer
  552. vim.v.shell_error = ...
  553. --- The stack trace of the exception most recently caught and
  554. --- not finished. Refer to `getstacktrace()` for the structure of
  555. --- stack trace. See also `v:exception`, `v:throwpoint`, and
  556. --- `throw-variables`.
  557. --- @type table[]
  558. vim.v.stacktrace = ...
  559. --- Last given status message.
  560. --- Modifiable (can be set).
  561. --- @type string
  562. vim.v.statusmsg = ...
  563. --- `channel-id` corresponding to stderr. The value is always 2;
  564. --- use this variable to make your code more descriptive.
  565. --- Unlike stdin and stdout (see `stdioopen()`), stderr is always
  566. --- open for writing. Example:
  567. ---
  568. --- ```vim
  569. --- :call chansend(v:stderr, "error: toaster empty\n")
  570. --- ```
  571. --- @type integer
  572. vim.v.stderr = ...
  573. --- `SwapExists` autocommands can set this to the selected choice
  574. --- for handling an existing swapfile:
  575. --- 'o' Open read-only
  576. --- 'e' Edit anyway
  577. --- 'r' Recover
  578. --- 'd' Delete swapfile
  579. --- 'q' Quit
  580. --- 'a' Abort
  581. --- The value should be a single-character string. An empty value
  582. --- results in the user being asked, as would happen when there is
  583. --- no SwapExists autocommand. The default is empty.
  584. --- @type string
  585. vim.v.swapchoice = ...
  586. --- Normal mode command to be executed after a file has been
  587. --- opened. Can be used for a `SwapExists` autocommand to have
  588. --- another Vim open the file and jump to the right place. For
  589. --- example, when jumping to a tag the value is ":tag tagname\r".
  590. --- For ":edit +cmd file" the value is ":cmd\r".
  591. --- @type string
  592. vim.v.swapcommand = ...
  593. --- Name of the swapfile found.
  594. --- Only valid during `SwapExists` event.
  595. --- Read-only.
  596. --- @type string
  597. vim.v.swapname = ...
  598. --- Value of `Blob` type. Read-only. See: `type()`
  599. --- @type integer
  600. vim.v.t_blob = ...
  601. --- Value of `Boolean` type. Read-only. See: `type()`
  602. --- @type integer
  603. vim.v.t_bool = ...
  604. --- Value of `Dictionary` type. Read-only. See: `type()`
  605. --- @type integer
  606. vim.v.t_dict = ...
  607. --- Value of `Float` type. Read-only. See: `type()`
  608. --- @type integer
  609. vim.v.t_float = ...
  610. --- Value of `Funcref` type. Read-only. See: `type()`
  611. --- @type integer
  612. vim.v.t_func = ...
  613. --- Value of `List` type. Read-only. See: `type()`
  614. --- @type integer
  615. vim.v.t_list = ...
  616. --- Value of `Number` type. Read-only. See: `type()`
  617. --- @type integer
  618. vim.v.t_number = ...
  619. --- Value of `String` type. Read-only. See: `type()`
  620. --- @type integer
  621. vim.v.t_string = ...
  622. --- The value of the most recent OSC, DCS or APC control sequence
  623. --- sent from a process running in the embedded `terminal`.
  624. --- This can be read in a `TermRequest` event handler to respond
  625. --- to queries from embedded applications.
  626. --- @type string
  627. vim.v.termrequest = ...
  628. --- The value of the most recent OSC or DCS control sequence
  629. --- received by Nvim from the terminal. This can be read in a
  630. --- `TermResponse` event handler after querying the terminal using
  631. --- another escape sequence.
  632. --- @type string
  633. vim.v.termresponse = ...
  634. --- Must be set before using `test_garbagecollect_now()`.
  635. --- @type integer
  636. vim.v.testing = ...
  637. --- Full filename of the last loaded or saved session file.
  638. --- Empty when no session file has been saved. See `:mksession`.
  639. --- Modifiable (can be set).
  640. --- @type string
  641. vim.v.this_session = ...
  642. --- The point where the exception most recently caught and not
  643. --- finished was thrown. Not set when commands are typed. See
  644. --- also `v:exception`, `v:stacktrace`, and `throw-variables`.
  645. --- Example:
  646. ---
  647. --- ```vim
  648. --- try
  649. --- throw "oops"
  650. --- catch /.*/
  651. --- echo "Exception from" v:throwpoint
  652. --- endtry
  653. --- ```
  654. ---
  655. --- Output: "Exception from test.vim, line 2"
  656. --- @type string
  657. vim.v.throwpoint = ...
  658. --- Special value used to put "true" in JSON and msgpack. See
  659. --- `json_encode()`. This value is converted to "v:true" when used
  660. --- as a String (e.g. in `expr5` with string concatenation
  661. --- operator) and to one when used as a Number (e.g. in `expr5` or
  662. --- `expr7` when used with numeric operators). Read-only.
  663. --- @type boolean
  664. vim.v['true'] = ...
  665. --- Value of the current item of a `List` or `Dictionary`. Only
  666. --- valid while evaluating the expression used with `map()` and
  667. --- `filter()`. Read-only.
  668. --- @type any
  669. vim.v.val = ...
  670. --- Vim version number: major version times 100 plus minor
  671. --- version. Vim 5.0 is 500, Vim 5.1 is 501.
  672. --- Read-only.
  673. --- Use `has()` to check the Nvim (not Vim) version:
  674. ---
  675. --- ```vim
  676. --- :if has("nvim-0.2.1")
  677. --- ```
  678. --- @type integer
  679. vim.v.version = ...
  680. --- 0 during startup, 1 just before `VimEnter`.
  681. --- Read-only.
  682. --- @type integer
  683. vim.v.vim_did_enter = ...
  684. --- Virtual line number for the 'statuscolumn' expression.
  685. --- Negative when drawing the status column for virtual lines, zero
  686. --- when drawing an actual buffer line, and positive when drawing
  687. --- the wrapped part of a buffer line.
  688. --- Read-only.
  689. --- @type integer
  690. vim.v.virtnum = ...
  691. --- Last given warning message.
  692. --- Modifiable (can be set).
  693. --- @type string
  694. vim.v.warningmsg = ...
  695. --- Application-specific window "handle" which may be set by any
  696. --- attached UI. Defaults to zero.
  697. --- Note: For Nvim `windows` use `winnr()` or `win_getid()`, see
  698. --- `window-ID`.
  699. --- @type integer
  700. vim.v.windowid = ...