aboutsummaryrefslogtreecommitdiff
path: root/runtime/doc
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/doc')
-rw-r--r--runtime/doc/api.txt127
-rw-r--r--runtime/doc/autocmd.txt6
-rw-r--r--runtime/doc/builtin.txt59
-rw-r--r--runtime/doc/cmdline.txt2
-rw-r--r--runtime/doc/develop.txt17
-rw-r--r--runtime/doc/diagnostic.txt2
-rw-r--r--runtime/doc/eval.txt19
-rw-r--r--runtime/doc/filetype.txt2
-rw-r--r--runtime/doc/ft_ada.txt32
-rw-r--r--runtime/doc/ft_rust.txt10
-rw-r--r--runtime/doc/ft_sql.txt4
-rw-r--r--runtime/doc/help.txt1
-rw-r--r--runtime/doc/helphelp.txt7
-rw-r--r--runtime/doc/index.txt23
-rw-r--r--runtime/doc/insert.txt9
-rw-r--r--runtime/doc/lsp.txt75
-rw-r--r--runtime/doc/lua.txt32
-rw-r--r--runtime/doc/luaref.txt433
-rw-r--r--runtime/doc/luvref.txt2
-rw-r--r--runtime/doc/map.txt16
-rw-r--r--runtime/doc/mbyte.txt5
-rw-r--r--runtime/doc/motion.txt14
-rw-r--r--runtime/doc/options.txt22
-rw-r--r--runtime/doc/pi_health.txt2
-rw-r--r--runtime/doc/pi_netrw.txt16
-rw-r--r--runtime/doc/print.txt2
-rw-r--r--runtime/doc/provider.txt2
-rw-r--r--runtime/doc/quickfix.txt10
-rw-r--r--runtime/doc/quickref.txt53
-rw-r--r--runtime/doc/repeat.txt5
-rw-r--r--runtime/doc/starting.txt2
-rw-r--r--runtime/doc/syntax.txt26
-rw-r--r--runtime/doc/tabpage.txt2
-rw-r--r--runtime/doc/treesitter.txt16
-rw-r--r--runtime/doc/ui.txt205
-rw-r--r--runtime/doc/userfunc.txt5
-rw-r--r--runtime/doc/usr_22.txt2
-rw-r--r--runtime/doc/usr_41.txt5
-rw-r--r--runtime/doc/usr_45.txt3
-rw-r--r--runtime/doc/vim_diff.txt33
-rw-r--r--runtime/doc/windows.txt13
41 files changed, 664 insertions, 657 deletions
diff --git a/runtime/doc/api.txt b/runtime/doc/api.txt
index 7e55bb8f4e..d53ca01df0 100644
--- a/runtime/doc/api.txt
+++ b/runtime/doc/api.txt
@@ -83,6 +83,7 @@ and |rpcnotify()|:
let nvim = jobstart(['nvim', '--embed'], {'rpc': v:true})
echo rpcrequest(nvim, 'nvim_eval', '"Hello " . "world!"')
call jobstop(nvim)
+<
==============================================================================
API Definitions *api-definitions*
@@ -92,7 +93,7 @@ The Nvim C API defines custom types for all function parameters. Some are just
typedefs around C99 standard types, others are Nvim-defined data structures.
Basic types ~
-
+>
API Type C type
------------------------------------------------------------------------
Nil
@@ -103,7 +104,7 @@ Basic types ~
Array
Dictionary (msgpack: map)
Object
-
+<
Note: empty Array is accepted as a valid argument for Dictionary parameter.
Special types (msgpack EXT) ~
@@ -115,13 +116,13 @@ Special types (msgpack EXT) ~
The EXT object data is the (integer) object handle. The EXT type codes given
in the |api-metadata| `types` key are stable: they will not change and are
thus forward-compatible.
-
+>
EXT Type C type Data
------------------------------------------------------------------------
Buffer enum value kObjectTypeBuffer |bufnr()|
Window enum value kObjectTypeWindow |window-ID|
Tabpage enum value kObjectTypeTabpage internal handle
-
+<
*api-indexing*
Most of the API uses 0-based indices, and ranges are end-exclusive. For the
@@ -130,19 +131,19 @@ end of a range, -1 denotes the last line/column.
Exception: the following API functions use "mark-like" indexing (1-based
lines, 0-based columns):
- |nvim_get_mark()|
- |nvim_buf_get_mark()|
- |nvim_buf_set_mark()|
- |nvim_win_get_cursor()|
- |nvim_win_set_cursor()|
+- |nvim_get_mark()|
+- |nvim_buf_get_mark()|
+- |nvim_buf_set_mark()|
+- |nvim_win_get_cursor()|
+- |nvim_win_set_cursor()|
Exception: the following API functions use |extmarks| indexing (0-based
indices, end-inclusive):
- |nvim_buf_del_extmark()|
- |nvim_buf_get_extmark_by_id()|
- |nvim_buf_get_extmarks()|
- |nvim_buf_set_extmark()|
+- |nvim_buf_del_extmark()|
+- |nvim_buf_get_extmark_by_id()|
+- |nvim_buf_get_extmarks()|
+- |nvim_buf_set_extmark()|
*api-fast*
Most API functions are "deferred": they are queued on the main loop and
@@ -162,19 +163,19 @@ and return values.
Nvim exposes its API metadata as a Dictionary with these items:
-version Nvim version, API level/compatibility
-version.api_level API version integer *api-level*
-version.api_compatible API is backwards-compatible with this level
-version.api_prerelease Declares the API as unstable/unreleased >
- (version.api_prerelease && fn.since == version.api_level)
-functions API function signatures, containing |api-types| info
- describing the return value and parameters.
-ui_events |UI| event signatures
-ui_options Supported |ui-option|s
-{fn}.since API level where function {fn} was introduced
-{fn}.deprecated_since API level where function {fn} was deprecated
-types Custom handle types defined by Nvim
-error_types Possible error types returned by API functions
+- version Nvim version, API level/compatibility
+- version.api_level API version integer *api-level*
+- version.api_compatible API is backwards-compatible with this level
+- version.api_prerelease Declares the API as unstable/unreleased
+ `(version.api_prerelease && fn.since == version.api_level)`
+- functions API function signatures, containing |api-types| info
+ describing the return value and parameters.
+- ui_events |UI| event signatures
+- ui_options Supported |ui-option|s
+- {fn}.since API level where function {fn} was introduced
+- {fn}.deprecated_since API level where function {fn} was deprecated
+- types Custom handle types defined by Nvim
+- error_types Possible error types returned by API functions
About the `functions` map:
@@ -345,7 +346,7 @@ LUA ~
In-process Lua plugins can receive buffer updates in the form of Lua
callbacks. These callbacks are called frequently in various contexts;
|textlock| prevents changing buffer contents and window layout (use
-|vim.schedule| to defer such operations to the main loop instead).
+|vim.schedule()| to defer such operations to the main loop instead).
|nvim_buf_attach()| will take keyword args for the callbacks. "on_lines" will
receive parameters ("lines", {buf}, {changedtick}, {firstline}, {lastline},
@@ -989,7 +990,7 @@ nvim_get_proc_children({pid}) *nvim_get_proc_children()*
nvim_get_runtime_file({name}, {all}) *nvim_get_runtime_file()*
Find files in runtime directories
- 'name' can contain wildcards. For example
+ "name" can contain wildcards. For example
nvim_get_runtime_file("colors/*.vim", true) will return all color scheme
files. Always use forward slashes (/) in the search pattern for
subdirectories regardless of platform.
@@ -1164,7 +1165,7 @@ nvim_open_term({buffer}, {opts}) *nvim_open_term()*
terminal mode. Note: keypresses are sent raw as they would
be to the pty master end. For instance, a carriage return
is sent as a "\r", not as a "\n". |textlock| applies. It
- is possible to call |nvim_chan_send| directly in the
+ is possible to call |nvim_chan_send()| directly in the
callback however. ["input", term, bufnr, data]
Return: ~
@@ -1396,15 +1397,15 @@ nvim_set_hl({ns_id}, {name}, {*val}) *nvim_set_hl()*
• link: name of another highlight group to link to, see
|:hi-link|.
• default: Don't override existing definition |:hi-default|
- • ctermfg: Sets foreground of cterm color |highlight-ctermfg|
- • ctermbg: Sets background of cterm color |highlight-ctermbg|
+ • ctermfg: Sets foreground of cterm color |ctermfg|
+ • ctermbg: Sets background of cterm color |ctermbg|
• cterm: cterm attribute map, like |highlight-args|. If not
set, cterm attributes will match those from the attribute
map documented above.
nvim_set_hl_ns({ns_id}) *nvim_set_hl_ns()*
Set active namespace for highlights. This can be set for a single window,
- see |nvim_win_set_hl_ns|.
+ see |nvim_win_set_hl_ns()|.
Parameters: ~
{ns_id} the namespace to use
@@ -1413,7 +1414,7 @@ nvim_set_hl_ns_fast({ns_id}) *nvim_set_hl_ns_fast()*
Set active namespace for highlights while redrawing.
This function meant to be called while redrawing, primarily from
- |nvim_set_decoration_provider| on_win and on_line callbacks, which are
+ |nvim_set_decoration_provider()| on_win and on_line callbacks, which are
allowed to change the namespace during a redraw cycle.
Attributes: ~
@@ -1445,7 +1446,7 @@ nvim_set_keymap({mode}, {lhs}, {rhs}, {*opts}) *nvim_set_keymap()*
{rhs} Right-hand-side |{rhs}| of the mapping.
{opts} Optional parameters map: keys are |:map-arguments|, values are
booleans (default false). Accepts all |:map-arguments| as keys
- excluding |<buffer>| but including |noremap| and "desc".
+ excluding |<buffer>| but including |:noremap| and "desc".
Unknown key is an error. "desc" can be used to give a
description to the mapping. When called from Lua, also accepts
a "callback" key that takes a Lua function to call when the
@@ -1696,7 +1697,13 @@ nvim_cmd({*cmd}, {*opts}) *nvim_cmd()*
of a String. This allows for easier construction and manipulation of an Ex
command. This also allows for things such as having spaces inside a
command argument, expanding filenames in a command that otherwise doesn't
- expand filenames, etc.
+ expand filenames, etc. Command arguments may also be Number, Boolean or
+ String.
+
+ The first argument may also be used instead of count for commands that
+ support it in order to make their usage simpler with |vim.cmd()|. For
+ example, instead of `vim.cmd.bdelete{ count = 2 }`, you may do
+ `vim.cmd.bdelete(2)`.
On execution error: fails with VimL error, updates v:errmsg.
@@ -1804,15 +1811,15 @@ nvim_parse_cmd({str}, {opts}) *nvim_parse_cmd()*
Return: ~
Dictionary containing command information, with these keys:
• cmd: (string) Command name.
- • range: (array) Command <range>. Can have 0-2 elements depending on
- how many items the range contains. Has no elements if command
- doesn't accept a range or if no range was specified, one element if
- only a single range item was specified and two elements if both
- range items were specified.
- • count: (number) Any |<count>| that was supplied to the command. -1
- if command cannot take a count.
- • reg: (number) The optional command |<register>|, if specified. Empty
- string if not specified or if command cannot take a register.
+ • range: (array) (optional) Command range (|<line1>| |<line2>|).
+ Omitted if command doesn't accept a range. Otherwise, has no
+ elements if no range was specified, one element if only a single
+ range item was specified, or two elements if both range items were
+ specified.
+ • count: (number) (optional) Command |<count>|. Omitted if command
+ cannot take a count.
+ • reg: (string) (optional) Command |<register>|. Omitted if command
+ cannot take a register.
• bang: (boolean) Whether command contains a |<bang>| (!) modifier.
• args: (array) Command arguments.
• addr: (string) Value of |:command-addr|. Uses short name.
@@ -1886,7 +1893,7 @@ nvim_get_all_options_info() *nvim_get_all_options_info()*
Gets the option information for all options.
The dictionary has the full option names as keys and option metadata
- dictionaries as detailed at |nvim_get_option_info|.
+ dictionaries as detailed at |nvim_get_option_info()|.
Return: ~
dictionary of all options
@@ -1960,7 +1967,7 @@ nvim_set_option_value({name}, {value}, {*opts})
{name} Option name
{value} New option value
{opts} Optional parameters
- • scope: One of 'global' or 'local'. Analogous to
+ • scope: One of "global" or "local". Analogous to
|:setglobal| and |:setlocal|, respectively.
• win: |window-ID|. Used for setting window local option.
• buf: Buffer number. Used for setting buffer local option.
@@ -2572,11 +2579,11 @@ nvim_buf_set_extmark({buffer}, {ns_id}, {line}, {col}, {*opts})
• virt_text : virtual text to link to this mark. A list of
[text, highlight] tuples, each representing a text chunk
with specified highlight. `highlight` element can either
- be a a single highlight group, or an array of multiple
+ be a single highlight group, or an array of multiple
highlight groups that will be stacked (highest priority
last). A highlight group can be supplied either as a
string or as an integer, the latter which can be obtained
- using |nvim_get_hl_id_by_name|.
+ using |nvim_get_hl_id_by_name()|.
• virt_text_pos : position of virtual text. Possible values:
• "eol": right after eol character (default)
• "overlay": display over the specified column, without
@@ -2608,7 +2615,7 @@ nvim_buf_set_extmark({buffer}, {ns_id}, {line}, {col}, {*opts})
• virt_lines_above: place virtual lines above instead.
• virt_lines_leftcol: Place extmarks in the leftmost column
of the window, bypassing sign and number columns.
- • ephemeral : for use with |nvim_set_decoration_provider|
+ • ephemeral : for use with |nvim_set_decoration_provider()|
callbacks. The mark will only be used for the current
redraw cycle, and not be permantently stored in the
buffer.
@@ -2686,7 +2693,7 @@ nvim_set_decoration_provider({ns_id}, {*opts})
triggered during the redraw code.
The expected usage is to set extmarks for the currently redrawn buffer.
- |nvim_buf_set_extmark| can be called to add marks on a per-window or
+ |nvim_buf_set_extmark()| can be called to add marks on a per-window or
per-lines basis. Use the `ephemeral` key to only use the mark for the
current screen redraw (the callback will be called again for the next
redraw ).
@@ -2844,7 +2851,7 @@ nvim_win_hide({window}) *nvim_win_hide()*
Like |:hide| the buffer becomes hidden unless another window is editing
it, or 'bufhidden' is `unload`, `delete` or `wipe` as opposed to |:close|
- or |nvim_win_close|, which will close the buffer.
+ or |nvim_win_close()|, which will close the buffer.
Attributes: ~
not allowed when |textlock| is active
@@ -2890,7 +2897,7 @@ nvim_win_set_hl_ns({window}, {ns_id}) *nvim_win_set_hl_ns()*
Set highlight namespace for a window. This will use highlights defined in
this namespace, but fall back to global highlights (ns=0) when missing.
- This takes predecence over the 'winhighlight' option.
+ This takes precedence over the 'winhighlight' option.
Parameters: ~
{ns_id} the namespace to use
@@ -3012,7 +3019,7 @@ nvim_open_win({buffer}, {enter}, {*config}) *nvim_open_win()*
options. 'signcolumn' is changed to `auto` and
'colorcolumn' is cleared. The end-of-buffer region is
hidden by setting `eob` flag of 'fillchars' to a space
- char, and clearing the |EndOfBuffer| region in
+ char, and clearing the |hl-EndOfBuffer| region in
'winhighlight'.
• border: Style of (optional) window border. This can either
@@ -3148,7 +3155,7 @@ Autocmd Functions *api-autocmd*
nvim_clear_autocmds({*opts}) *nvim_clear_autocmds()*
Clear all autocommands that match the corresponding {opts}. To delete a
- particular autocmd, see |nvim_del_autocmd|.
+ particular autocmd, see |nvim_del_autocmd()|.
Parameters: ~
{opts} Parameters
@@ -3295,7 +3302,7 @@ nvim_del_augroup_by_id({id}) *nvim_del_augroup_by_id()*
To get a group id one can use |nvim_get_autocmds()|.
- NOTE: behavior differs from |augroup-delete|. When deleting a group,
+ NOTE: behavior differs from |:augroup-delete|. When deleting a group,
autocommands contained in this group will also be deleted and cleared.
This group will no longer exist.
@@ -3309,7 +3316,7 @@ nvim_del_augroup_by_id({id}) *nvim_del_augroup_by_id()*
nvim_del_augroup_by_name({name}) *nvim_del_augroup_by_name()*
Delete an autocommand group by name.
- NOTE: behavior differs from |augroup-delete|. When deleting a group,
+ NOTE: behavior differs from |:augroup-delete|. When deleting a group,
autocommands contained in this group will also be deleted and cleared.
This group will no longer exist.
@@ -3317,7 +3324,7 @@ nvim_del_augroup_by_name({name}) *nvim_del_augroup_by_name()*
{name} String The name of the group.
See also: ~
- |autocommand-groups|
+ |autocmd-groups|
nvim_del_autocmd({id}) *nvim_del_autocmd()*
Delete an autocommand by id.
@@ -3435,8 +3442,8 @@ nvim_ui_detach() *nvim_ui_detach()*
*nvim_ui_pum_set_bounds()*
nvim_ui_pum_set_bounds({width}, {height}, {row}, {col})
- Tells Nvim the geometry of the popumenu, to align floating windows with an
- external popup menu.
+ Tells Nvim the geometry of the popupmenu, to align floating windows with
+ an external popup menu.
Note that this method is not to be confused with
|nvim_ui_pum_set_height()|, which sets the number of visible items in the
@@ -3455,7 +3462,7 @@ nvim_ui_pum_set_bounds({width}, {height}, {row}, {col})
{col} Popupmenu height.
nvim_ui_pum_set_height({height}) *nvim_ui_pum_set_height()*
- Tells Nvim the number of elements displaying in the popumenu, to decide
+ Tells Nvim the number of elements displaying in the popupmenu, to decide
<PageUp> and <PageDown> movement.
Attributes: ~
diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt
index e55534b163..97a1bdc134 100644
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -835,13 +835,13 @@ QuitPre When using `:quit`, `:wq` or `:qall`, before
See also |ExitPre|, |WinClosed|.
*RemoteReply*
RemoteReply When a reply from a Vim that functions as
- server was received |server2client()|. The
+ server was received server2client(). The
pattern is matched against the {serverid}.
<amatch> is equal to the {serverid} from which
the reply was sent, and <afile> is the actual
reply string.
Note that even if an autocommand is defined,
- the reply should be read with |remote_read()|
+ the reply should be read with remote_read()
to consume it.
*SearchWrapped*
SearchWrapped After making a search with |n| or |N| if the
@@ -1206,7 +1206,7 @@ still executed.
==============================================================================
7. Buffer-local autocommands *autocmd-buflocal* *autocmd-buffer-local*
- *<buffer=N>* *<buffer=abuf>* *E680*
+ *<buffer>* *<buffer=N>* *<buffer=abuf>* *E680*
Buffer-local autocommands are attached to a specific buffer. They are useful
if the buffer does not have a name and when the name does not match a specific
diff --git a/runtime/doc/builtin.txt b/runtime/doc/builtin.txt
index 7b1a50c1fb..4a889c67be 100644
--- a/runtime/doc/builtin.txt
+++ b/runtime/doc/builtin.txt
@@ -1131,13 +1131,14 @@ chdir({dir}) *chdir()*
directory (|:tcd|) then changes the tabpage local
directory.
- Otherwise, changes the global directory.
+ {dir} must be a String.
If successful, returns the previous working directory. Pass
this to another chdir() to restore the directory.
On failure, returns an empty string.
Example: >
let save_dir = chdir(newdir)
- if save_dir
+ if save_dir != ""
" ... do some work
call chdir(save_dir)
endif
@@ -1537,7 +1538,7 @@ cursor({list})
debugbreak({pid}) *debugbreak()*
Specifically used to interrupt a program being debugged. It
will cause process {pid} to get a SIGTRAP. Behavior for other
- processes is undefined. See |terminal-debugger|.
+ processes is undefined. See |terminal-debug|.
{Sends a SIGINT to a process {pid} other than MS-Windows}
Returns |TRUE| if successfully interrupted the program.
@@ -2627,7 +2628,7 @@ get({dict}, {key} [, {default}])
{default} is omitted. Useful example: >
let val = get(g:, 'var_name', 'default')
< This gets the value of g:var_name if it exists, and uses
- 'default' when it does not exist.
+ "default" when it does not exist.
get({func}, {what})
Get item {what} from Funcref {func}. Possible values for
{what} are:
@@ -3034,7 +3035,7 @@ getcurpos([{winid}])
cursor vertically. Also see |getcursorcharpos()| and
|getpos()|.
The first "bufnum" item is always zero. The byte position of
- the cursor is returned in 'col'. To get the character
+ the cursor is returned in "col". To get the character
position, use |getcursorcharpos()|.
The optional {winid} argument can specify the window. It can
@@ -3240,7 +3241,7 @@ getloclist({nr} [, {what}]) *getloclist()*
In addition to the items supported by |getqflist()| in {what},
the following item is supported by |getloclist()|:
- filewinid id of the window used to display files
+ filewinid id of the window used to display files
from the location list. This field is
applicable only when called from a
location list window. See
@@ -3289,18 +3290,18 @@ getmatches([{win}]) *getmatches()*
an empty list is returned.
Example: >
:echo getmatches()
-< [{'group': 'MyGroup1', 'pattern': 'TODO',
- 'priority': 10, 'id': 1}, {'group': 'MyGroup2',
- 'pattern': 'FIXME', 'priority': 10, 'id': 2}] >
+< [{"group": "MyGroup1", "pattern": "TODO",
+ "priority": 10, "id": 1}, {"group": "MyGroup2",
+ "pattern": "FIXME", "priority": 10, "id": 2}] >
:let m = getmatches()
:call clearmatches()
:echo getmatches()
< [] >
:call setmatches(m)
:echo getmatches()
-< [{'group': 'MyGroup1', 'pattern': 'TODO',
- 'priority': 10, 'id': 1}, {'group': 'MyGroup2',
- 'pattern': 'FIXME', 'priority': 10, 'id': 2}] >
+< [{"group": "MyGroup1", "pattern": "TODO",
+ "priority": 10, "id": 1}, {"group": "MyGroup2",
+ "pattern": "FIXME", "priority": 10, "id": 2}] >
:unlet m
<
getmousepos() *getmousepos()*
@@ -3413,7 +3414,7 @@ getqflist([{what}]) *getqflist()*
|quickfix-ID|; zero means the id for the
current list or the list specified by "nr"
idx get information for the quickfix entry at this
- index in the list specified by 'id' or 'nr'.
+ index in the list specified by "id" or "nr".
If set to zero, then uses the current entry.
See |quickfix-index|
items quickfix list entries
@@ -3499,7 +3500,7 @@ getreginfo([{regname}]) *getreginfo()*
Dictionary with the following entries:
regcontents List of lines contained in register
{regname}, like
- |getreg|({regname}, 1, 1).
+ getreg({regname}, 1, 1).
regtype the type of register {regname}, as in
|getregtype()|.
isunnamed Boolean flag, v:true if this register
@@ -4415,7 +4416,7 @@ jobstart({cmd} [, {opts}]) *jobstart()*
killed when Nvim exits. If the process exits
before Nvim, `on_exit` will be invoked.
env: (dict) Map of environment variable name:value
- pairs extending (or replacing with |clear_env|)
+ pairs extending (or replace with "clear_env")
the current environment. |jobstart-env|
height: (number) Height of the `pty` terminal.
|on_exit|: (function) Callback invoked when the job exits.
@@ -5209,12 +5210,12 @@ matchfuzzypos({list}, {str} [, {dict}]) *matchfuzzypos()*
Example: >
:echo matchfuzzypos(['testing'], 'tsg')
-< results in [['testing'], [[0, 2, 6]], [99]] >
+< results in [["testing"], [[0, 2, 6]], [99]] >
:echo matchfuzzypos(['clay', 'lacy'], 'la')
-< results in [['lacy', 'clay'], [[0, 1], [1, 2]], [153, 133]] >
+< results in [["lacy", "clay"], [[0, 1], [1, 2]], [153, 133]] >
:echo [{'text': 'hello', 'id' : 10}]
\ ->matchfuzzypos('ll', {'key' : 'text'})
-< results in [[{'id': 10, 'text': 'hello'}], [[2, 3]], [127]]
+< results in [[{"id": 10, "text": "hello"}], [[2, 3]], [127]]
matchlist({expr}, {pat} [, {start} [, {count}]]) *matchlist()*
Same as |match()|, but return a |List|. The first item in the
@@ -6069,6 +6070,8 @@ rand([{expr}]) *rand()*
*readdir()*
readdir({directory} [, {expr}])
Return a list with file and directory names in {directory}.
+ You can also use |glob()| if you don't need to do complicated
+ things, such as limiting the number of matches.
When {expr} is omitted all entries are included.
When {expr} is given, it is evaluated to check what to do:
@@ -7223,7 +7226,7 @@ setqflist({list} [, {action} [, {what}]]) *setqflist()*
See |quickfix-parse|
id quickfix list identifier |quickfix-ID|
idx index of the current entry in the quickfix
- list specified by 'id' or 'nr'. If set to '$',
+ list specified by "id" or "nr". If set to '$',
then the last entry in the list is set as the
current entry. See |quickfix-index|
items list of quickfix entries. Same as the {list}
@@ -8247,7 +8250,7 @@ synIDattr({synID}, {what} [, {mode}]) *synIDattr()*
"bg" background color (as with "fg")
"font" font name (only available in the GUI)
|highlight-font|
- "sp" special color (as with "fg") |highlight-guisp|
+ "sp" special color (as with "fg") |guisp|
"fg#" like "fg", but for the GUI and the GUI is
running the name in "#RRGGBB" form
"bg#" like "fg#" for "bg"
@@ -8303,12 +8306,12 @@ synconcealed({lnum}, {col}) *synconcealed()*
the text is "123456" and both "23" and "45" are concealed
and replaced by the character "X", then:
call returns ~
- synconcealed(lnum, 1) [0, '', 0]
- synconcealed(lnum, 2) [1, 'X', 1]
- synconcealed(lnum, 3) [1, 'X', 1]
- synconcealed(lnum, 4) [1, 'X', 2]
- synconcealed(lnum, 5) [1, 'X', 2]
- synconcealed(lnum, 6) [0, '', 0]
+ synconcealed(lnum, 1) [0, '', 0]
+ synconcealed(lnum, 2) [1, 'X', 1]
+ synconcealed(lnum, 3) [1, 'X', 1]
+ synconcealed(lnum, 4) [1, 'X', 2]
+ synconcealed(lnum, 5) [1, 'X', 2]
+ synconcealed(lnum, 6) [0, '', 0]
synstack({lnum}, {col}) *synstack()*
@@ -9106,12 +9109,12 @@ winlayout([{tabnr}]) *winlayout()*
returns an empty list.
For a leaf window, it returns:
- ['leaf', {winid}]
+ ["leaf", {winid}]
For horizontally split windows, which form a column, it
returns:
- ['col', [{nested list of windows}]]
+ ["col", [{nested list of windows}]]
For vertically split windows, which form a row, it returns:
- ['row', [{nested list of windows}]]
+ ["row", [{nested list of windows}]]
Example: >
" Only one window in the tab page
diff --git a/runtime/doc/cmdline.txt b/runtime/doc/cmdline.txt
index f19671e713..b1013420fa 100644
--- a/runtime/doc/cmdline.txt
+++ b/runtime/doc/cmdline.txt
@@ -764,7 +764,7 @@ Count and Range *N:*
When giving a count before entering ":", this is translated into:
:.,.+(count - 1)
-In words: The 'count' lines at and after the cursor. Example: To delete
+In words: The "count" lines at and after the cursor. Example: To delete
three lines: >
3:d<CR> is translated into: .,.+2d<CR>
<
diff --git a/runtime/doc/develop.txt b/runtime/doc/develop.txt
index 4f17e7d34a..ebb0dfeb4e 100644
--- a/runtime/doc/develop.txt
+++ b/runtime/doc/develop.txt
@@ -151,6 +151,23 @@ DOCUMENTATION *dev-doc*
/// @param dirname The path fragment before `pend`
<
+Documentation format ~
+
+For Nvim-owned docs, use the following strict subset of "vimdoc" to ensure
+the help doc renders nicely in other formats (such as HTML:
+https://neovim.io/doc/user ).
+
+Strict "vimdoc" subset:
+
+- Use lists (like this!) prefixed with "-", "*", or "•", for adjacent lines
+ that you don't want auto-wrapped. Lists are always rendered with "flow"
+ (soft-wrapped) layout instead of preformatted (hard-wrapped) layout common
+ in legacy :help docs.
+- Separate blocks (paragraphs) of content by a blank line(s).
+- Do not use indentation in random places—that prevents the page from using
+ "flow" layout. If you need a preformatted section, put it in
+ a |help-codeblock| starting with ">".
+
C docstrings ~
Nvim API documentation lives in the source code, as docstrings (Doxygen
diff --git a/runtime/doc/diagnostic.txt b/runtime/doc/diagnostic.txt
index 78254c6f2b..ada7b93f7c 100644
--- a/runtime/doc/diagnostic.txt
+++ b/runtime/doc/diagnostic.txt
@@ -296,7 +296,7 @@ EVENTS *diagnostic-events*
*DiagnosticChanged*
DiagnosticChanged After diagnostics have changed. When used from Lua,
- the new diagnostics are passed to the autocmcd
+ the new diagnostics are passed to the autocmd
callback in the "data" table.
Example: >
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 3e068e3b4e..6a9fb6d03c 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -40,7 +40,7 @@ List An ordered sequence of items, see |List| for details.
Dictionary An associative, unordered array: Each entry has a key and a
value. |Dictionary|
Examples:
- {'blue': "#0000ff", 'red': "#ff0000"}
+ {"blue": "#0000ff", "red": "#ff0000"}
#{blue: "#0000ff", red: "#ff0000"}
Blob Binary Large Object. Stores any sequence of bytes. See |Blob|
@@ -457,7 +457,7 @@ String automatically. Thus the String '4' and the number 4 will find the same
entry. Note that the String '04' and the Number 04 are different, since the
Number will be converted to the String '4', leading zeros are dropped. The
empty string can also be used as a key.
- *literal-Dict*
+ *literal-Dict* *#{}*
To avoid having to put quotes around every key the #{} form can be used. This
does require the key to consist only of ASCII letters, digits, '-' and '_'.
Example: >
@@ -681,7 +681,7 @@ similar to -1. >
:let shortblob = myblob[2:2] " Blob with one byte: 0z22
:let otherblob = myblob[:] " make a copy of the Blob
-If the first index is beyond the last byte of the Blob or the second byte is
+If the first index is beyond the last byte of the Blob or the second index is
before the first index, the result is an empty Blob. There is no error
message.
@@ -704,8 +704,8 @@ The length of the replaced bytes must be exactly the same as the value
provided. *E972*
To change part of a blob you can specify the first and last byte to be
-modified. The value must at least have the number of bytes in the range: >
- :let blob[3:5] = [3, 4, 5]
+modified. The value must have the same number of bytes in the range: >
+ :let blob[3:5] = 0z334455
You can also use the functions |add()|, |remove()| and |insert()|.
@@ -1228,7 +1228,10 @@ And NOT: >
\ ->map(mapexpr)
\ ->sort()
\ ->join()
-<
+
+When using the lambda form there must be no white space between the } and the
+(.
+
*expr9*
number
@@ -2528,7 +2531,7 @@ text...
echo 'done'
endif
END
-< Results in: ["if ok", " echo 'done'", "endif"]
+< Results in: `["if ok", " echo 'done'", "endif"]`
The marker must line up with "let" and the indentation
of the first line is removed from all the text lines.
Specifically: all the leading indentation exactly
@@ -4116,7 +4119,7 @@ This example sorts lines with a specific compare function. >
As a one-liner: >
:call setline(1, sort(getline(1, '$'), function("Strcmp")))
-
+<
scanf() replacement ~
*sscanf*
diff --git a/runtime/doc/filetype.txt b/runtime/doc/filetype.txt
index 9f8ef248f8..ac54a6b6ca 100644
--- a/runtime/doc/filetype.txt
+++ b/runtime/doc/filetype.txt
@@ -178,7 +178,7 @@ If a file type that you want to use is not detected yet, there are a few ways
to add it. In any way, it's better not to modify the $VIMRUNTIME/filetype.lua
or $VIMRUNTIME/filetype.vim files. They will be overwritten when installing a
new version of Nvim. The following explains the legacy Vim mechanism (enabled
-if |do_legacy_filetype| is set). For Nvim's default mechanism, see
+if |g:do_legacy_filetype| is set). For Nvim's default mechanism, see
|vim.filetype.add()|.
A. If you want to overrule all default file type checks.
diff --git a/runtime/doc/ft_ada.txt b/runtime/doc/ft_ada.txt
index f6dfa708fb..3f002f2df7 100644
--- a/runtime/doc/ft_ada.txt
+++ b/runtime/doc/ft_ada.txt
@@ -288,7 +288,7 @@ g:ada_rainbow_color bool (true when exists)
rainbow_parenthesis for this to work.
*g:ada_folding*
-g:ada_folding set ('sigpft')
+g:ada_folding set ("sigpft")
Use folding for Ada sources.
's': activate syntax folding on load
'p': fold packages
@@ -296,10 +296,10 @@ g:ada_folding set ('sigpft')
't': fold types
'c': fold conditionals
'g': activate gnat pretty print folding on load
- 'i': lone 'is' folded with line above
- 'b': lone 'begin' folded with line above
- 'p': lone 'private' folded with line above
- 'x': lone 'exception' folded with line above
+ 'i': lone "is" folded with line above
+ 'b': lone "begin" folded with line above
+ 'p': lone "private" folded with line above
+ 'x': lone "exception" folded with line above
'i': activate indent folding on load
Note: Syntax folding is in an early (unusable) stage and
@@ -334,10 +334,10 @@ g:ada_omni_with_keywords
completion (|i_CTRL-X_CTRL-U|).
*g:ada_extended_tagging*
-g:ada_extended_tagging enum ('jump', 'list')
+g:ada_extended_tagging enum ("jump", "list")
use extended tagging, two options are available
- 'jump': use tjump to jump.
- 'list': add tags quick fix list.
+ "jump": use tjump to jump.
+ "list": add tags quick fix list.
Normal tagging does not support function or operator
overloading as these features are not available in C and
tagging was originally developed for C.
@@ -359,8 +359,8 @@ g:ada_with_gnat_project_files bool (true when exists)
*g:ada_default_compiler*
g:ada_default_compiler string
- set default compiler. Currently supported are 'gnat' and
- 'decada'.
+ set default compiler. Currently supported are "gnat" and
+ "decada".
An "exists" type is a boolean considered true when the variable is defined and
false when the variable is undefined. The value to which the variable is set
@@ -406,14 +406,14 @@ makes no difference.
g:gnat object
Control object which manages GNAT compiles. The object
is created when the first Ada source code is loaded provided
- that |g:ada_default_compiler| is set to 'gnat'. See
+ that |g:ada_default_compiler| is set to "gnat". See
|gnat_members| for details.
*g:decada*
g:decada object
Control object which manages Dec Ada compiles. The object
is created when the first Ada source code is loaded provided
- that |g:ada_default_compiler| is set to 'decada'. See
+ that |g:ada_default_compiler| is set to "decada". See
|decada_members| for details.
------------------------------------------------------------------------------
@@ -459,11 +459,11 @@ ada#List_Tag([{line}, {col}]) *ada#Listtags()*
ada#Jump_Tag ({ident}, {mode}) *ada#Jump_Tag()*
List all occurrences of the Ada entity under the cursor (or at
given line/column) in the tag jump list. Mode can either be
- 'tjump' or 'stjump'.
+ "tjump" or "stjump".
ada#Create_Tags ({option}) *ada#Create_Tags()*
- Creates tag file using Ctags. The option can either be 'file'
- for the current file, 'dir' for the directory of the current
+ Creates tag file using Ctags. The option can either be "file"
+ for the current file, "dir" for the directory of the current
file or a file name.
gnat#Insert_Tags_Header() *gnat#Insert_Tags_Header()*
@@ -489,7 +489,7 @@ backup.vim
http://www.vim.org/scripts/script.php?script_id=1537
Keeps as many backups as you like so you don't have to.
-rainbow_parenthsis.vim
+rainbow_parenthesis.vim
http://www.vim.org/scripts/script.php?script_id=1561
Very helpful since Ada uses only '(' and ')'.
diff --git a/runtime/doc/ft_rust.txt b/runtime/doc/ft_rust.txt
index 5c8782ec7a..3a0bf2293e 100644
--- a/runtime/doc/ft_rust.txt
+++ b/runtime/doc/ft_rust.txt
@@ -92,8 +92,8 @@ g:ftplugin_rust_source_path~
*g:rustfmt_command*
g:rustfmt_command~
- Set this option to the name of the 'rustfmt' executable in your $PATH. If
- not specified it defaults to 'rustfmt' : >
+ Set this option to the name of the "rustfmt" executable in your $PATH. If
+ not specified it defaults to "rustfmt" : >
let g:rustfmt_command = 'rustfmt'
<
*g:rustfmt_autosave*
@@ -104,14 +104,14 @@ g:rustfmt_autosave~
<
*g:rustfmt_fail_silently*
g:rustfmt_fail_silently~
- Set this option to 1 to prevent 'rustfmt' from populating the
+ Set this option to 1 to prevent "rustfmt" from populating the
|location-list| with errors. If not specified it defaults to 0: >
let g:rustfmt_fail_silently = 0
<
*g:rustfmt_options*
g:rustfmt_options~
- Set this option to a string of options to pass to 'rustfmt'. The
- write-mode is already set to 'overwrite'. If not specified it
+ Set this option to a string of options to pass to "rustfmt". The
+ write-mode is already set to "overwrite". If not specified it
defaults to '' : >
let g:rustfmt_options = ''
<
diff --git a/runtime/doc/ft_sql.txt b/runtime/doc/ft_sql.txt
index 335faf266e..03d9082aab 100644
--- a/runtime/doc/ft_sql.txt
+++ b/runtime/doc/ft_sql.txt
@@ -244,7 +244,7 @@ key to complete the optional parameter.
After typing the function name and a space, you can use the completion to
supply a parameter. The function takes the name of the Vim script you want to
source. Using the |cmdline-completion| feature, the SQLSetType function will
-search the |'runtimepath'| for all Vim scripts with a name containing 'sql'.
+search the |'runtimepath'| for all Vim scripts with a name containing "sql".
This takes the guess work out of the spelling of the names. The following are
examples: >
:SQLSetType
@@ -757,7 +757,7 @@ the syntax items for Perl.
Step 2
------
-Manually setting the filetype to 'sql' will also fire the appropriate filetype
+Manually setting the filetype to "sql" will also fire the appropriate filetype
files ftplugin/sql.vim. This file will define a number of buffer specific
maps for SQL completion, see |sql-completion-maps|. Now these maps have
been created and the SQL completion plugin has been initialized. All SQL
diff --git a/runtime/doc/help.txt b/runtime/doc/help.txt
index 34213f7512..a1bedfa500 100644
--- a/runtime/doc/help.txt
+++ b/runtime/doc/help.txt
@@ -98,7 +98,6 @@ General subjects ~
|help.txt| overview and quick reference (this file)
|helphelp.txt| about using the help files
|index.txt| alphabetical index of all commands
-|help-tags| all the tags you can jump to (index of tags)
|tips.txt| various tips on using Vim
|message.txt| (error) messages and explanations
|develop.txt| development of Nvim
diff --git a/runtime/doc/helphelp.txt b/runtime/doc/helphelp.txt
index 569995d319..4758cd37c6 100644
--- a/runtime/doc/helphelp.txt
+++ b/runtime/doc/helphelp.txt
@@ -212,12 +212,6 @@ This is done when viewing the file in Vim, the file itself is not changed. It
is done by going through all help files and obtaining the first line of each
file. The files in $VIMRUNTIME/doc are skipped.
- *help-xterm-window*
-If you want to have the help in another xterm window, you could use this
-command: >
- :!xterm -e vim +help &
-<
-
*:helpt* *:helptags*
*E150* *E151* *E152* *E153* *E154* *E670* *E856*
:helpt[ags] [++t] {dir}
@@ -372,6 +366,7 @@ To separate sections in a help file, place a series of '=' characters in a
line starting from the first column. The section separator line is highlighted
differently.
+ *help-codeblock*
To quote a block of ex-commands verbatim, place a greater than (>) character
at the end of the line before the block and a less than (<) character as the
first non-blank on a line following the block. Any line starting in column 1
diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt
index 7f3ef20762..f9ef99f819 100644
--- a/runtime/doc/index.txt
+++ b/runtime/doc/index.txt
@@ -13,7 +13,6 @@ to look for deleting something, use: "/delete".
For an overview of options see |option-list|.
For an overview of built-in functions see |functions|.
For a list of Vim variables see |vim-variable|.
-For a complete listing of all help items see |help-tags|.
Type |gO| to see the table of contents.
@@ -61,7 +60,7 @@ tag char action in Insert mode ~
|i_CTRL-Q| CTRL-Q same as CTRL-V, unless used for terminal
control flow
|i_CTRL-SHIFT-Q| CTRL-SHIFT-Q {char}
- like CTRL-Q unless |modifyOtherKeys| is active
+ like CTRL-Q unless |tui-modifyOtherKeys| is active
|i_CTRL-R| CTRL-R {register}
insert the contents of a register
|i_CTRL-R_CTRL-R| CTRL-R CTRL-R {register}
@@ -79,7 +78,7 @@ tag char action in Insert mode ~
line
|i_CTRL-V| CTRL-V {char} insert next non-digit literally
|i_CTRL-SHIFT-V| CTRL-SHIFT-V {char}
- like CTRL-V unless |modifyOtherKeys| is active
+ like CTRL-V unless |tui-modifyOtherKeys| is active
|i_CTRL-V_digit| CTRL-V {number} insert three digit decimal number as a single
byte.
|i_CTRL-W| CTRL-W delete word before the cursor
@@ -454,14 +453,14 @@ tag char note action in Normal mode ~
|<S-Up>| <S-Up> 1 same as CTRL-B
|<Undo>| <Undo> 2 same as "u"
|<Up>| <Up> 1 same as "k"
-|<ScrollWheelDown>| <ScrollWheelDown> move window three lines down
-|<S-ScrollWheelDown>| <S-ScrollWheelDown> move window one page down
-|<ScrollWheelUp>| <ScrollWheelUp> move window three lines up
-|<S-ScrollWheelUp>| <S-ScrollWheelUp> move window one page up
-|<ScrollWheelLeft>| <ScrollWheelLeft> move window six columns left
-|<S-ScrollWheelLeft>| <S-ScrollWheelLeft> move window one page left
-|<ScrollWheelRight>| <ScrollWheelRight> move window six columns right
-|<S-ScrollWheelRight>| <S-ScrollWheelRight> move window one page right
+*<ScrollWheelDown>* <ScrollWheelDown> move window three lines down
+*<S-ScrollWheelDown>* <S-ScrollWheelDown> move window one page down
+*<ScrollWheelUp>* <ScrollWheelUp> move window three lines up
+*<S-ScrollWheelUp>* <S-ScrollWheelUp> move window one page up
+*<ScrollWheelLeft>* <ScrollWheelLeft> move window six columns left
+*<S-ScrollWheelLeft>* <S-ScrollWheelLeft> move window one page left
+*<ScrollWheelRight>* <ScrollWheelRight> move window six columns right
+*<S-ScrollWheelRight>* <S-ScrollWheelRight> move window one page right
==============================================================================
2.1 Text objects *objects*
@@ -700,7 +699,7 @@ tag char note action in Normal mode ~
tag char note action in Normal mode ~
------------------------------------------------------------------------------
-|g_CTRL-A| g CTRL-A dump a memory profile
+g_CTRL-A g CTRL-A dump a memory profile
|g_CTRL-G| g CTRL-G show information about current cursor
position
|g_CTRL-H| g CTRL-H start Select block mode
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index 6b0899334b..63ceab78a8 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1126,7 +1126,8 @@ that contains the List. The Dict can have these items:
leading text is changed.
Other items are ignored.
-For acting upon end of completion, see the |CompleteDone| autocommand event.
+For acting upon end of completion, see the |CompleteDonePre| and
+|CompleteDone| autocommand event.
For example, the function can contain this: >
let matches = ... list of words ...
@@ -1519,7 +1520,7 @@ RUBY *ft-ruby-omni*
NOTE: |compl-omni| for Ruby code requires |provider-ruby| to be installed.
Ruby completion will parse your buffer on demand in order to provide a list of
-completions. These completions will be drawn from modules loaded by 'require'
+completions. These completions will be drawn from modules loaded by "require"
and modules defined in the current buffer.
The completions provided by CTRL-X CTRL-O are sensitive to the context:
@@ -1533,7 +1534,7 @@ The completions provided by CTRL-X CTRL-O are sensitive to the context:
3. After '.', '::' or ':' Methods applicable to the object being
dereferenced
- 4. After ':' or ':foo' Symbol name (beginning with 'foo')
+ 4. After ':' or ':foo' Symbol name (beginning with "foo")
Notes:
- Vim will load/evaluate code in order to provide completions. This may
@@ -1759,7 +1760,7 @@ In the example four special elements are visible:
dialect.
2. If the list containing possible values of attributes has one element and
this element is equal to the name of the attribute this attribute will be
- treated as boolean and inserted as 'attrname' and not as 'attrname="'
+ treated as boolean and inserted as "attrname" and not as 'attrname="'
3. "vimxmltaginfo" - a special key with a Dictionary containing tag
names as keys and two element List as values, for additional menu info and
the long description.
diff --git a/runtime/doc/lsp.txt b/runtime/doc/lsp.txt
index 00aaf759e2..26bca21507 100644
--- a/runtime/doc/lsp.txt
+++ b/runtime/doc/lsp.txt
@@ -40,7 +40,7 @@ Follow these steps to get LSP features:
root_dir = vim.fs.dirname(vim.fs.find({'setup.py', 'pyproject.toml'}, { upward = true })[1]),
})
<
- See |vim.lsp.start| for details.
+ See |vim.lsp.start()| for details.
3. Configure keymaps and autocmds to utilize LSP features.
See |lsp-config|.
@@ -48,19 +48,19 @@ Follow these steps to get LSP features:
*lsp-config*
Starting a LSP client will automatically report diagnostics via
-|vim.diagnostic|. Read |vim.diagnostic.config| to learn how to customize the
+|vim.diagnostic|. Read |vim.diagnostic.config()| to learn how to customize the
display.
It also sets some buffer options if the options are otherwise empty and if the
language server supports the functionality.
-- |omnifunc| is set to |vim.lsp.omnifunc|. This allows to trigger completion
- using |i_CTRL-X_CTRL-o|
-- |tagfunc| is set to |vim.lsp.tagfunc|. This enables features like
+- 'omnifunc' is set to |vim.lsp.omnifunc()|. This allows to trigger completion
+ using |i_CTRL-X_CTRL-O|
+- 'tagfunc' is set to |vim.lsp.tagfunc()|. This enables features like
go-to-definition, |:tjump|, and keymaps like |CTRL-]|, |CTRL-W_]|,
|CTRL-W_}| to utilize the language server.
-- |formatexpr| is set to |vim.lsp.formatexpr| if both |formatprg| and
- |formatexpr| are empty. This allows to format lines via |gq| if the language
+- 'formatexpr' is set to |vim.lsp.formatexpr()| if both 'formatprg' and
+ 'formatexpr' are empty. This allows to format lines via |gq| if the language
server supports it.
To use other LSP features like hover, rename, etc. you can setup some
@@ -245,7 +245,7 @@ For |lsp-request|, each |lsp-handler| has this signature: >
Where `err` must be shaped like an RPC error:
`{ code, message, data? }`
- You can use |vim.lsp.rpc_response_error()| to create this object.
+ You can use |vim.lsp.rpc.rpc_response_error()| to create this object.
For |lsp-notification|, each |lsp-handler| has this signature: >
@@ -338,8 +338,8 @@ To configure the behavior of a builtin |lsp-handler|, the convenient method
}
<
Some handlers do not have an explicitly named handler function (such as
- |on_publish_diagnostics()|). To override these, first create a reference
- to the existing handler: >
+ ||vim.lsp.diagnostic.on_publish_diagnostics()|). To override these, first
+ create a reference to the existing handler: >
local on_references = vim.lsp.handlers["textDocument/references"]
vim.lsp.handlers["textDocument/references"] = vim.lsp.with(
@@ -360,7 +360,7 @@ Handlers can be set by:
vim.lsp.handlers["textDocument/definition"] = my_custom_default_definition
<
-- The {handlers} parameter for |vim.lsp.start_client|.
+- The {handlers} parameter for |vim.lsp.start_client()|.
This will set the |lsp-handler| as the default handler for this server.
For example: >
@@ -514,7 +514,7 @@ callback in the "data" table. Example: >
end,
})
<
-In addition, the following |User| |autocommands| are provided:
+Also the following |User| |autocommand|s are provided:
LspProgressUpdate *LspProgressUpdate*
Upon receipt of a progress notification from the server. See
@@ -788,7 +788,8 @@ start({config}, {opts}) *vim.lsp.start()*
})
<
- See |lsp.start_client| for all available options. The most important are:
+ See |vim.lsp.start_client()| for all available options. The most important
+ are:
`name` is an arbitrary name for the LSP client. It should be unique per
language server.
@@ -798,9 +799,9 @@ start({config}, {opts}) *vim.lsp.start()*
constructs like `~` are NOT expanded.
`root_dir` path to the project root. By default this is used to decide if
- an existing client should be re-used. The example above uses |vim.fs.find|
- and |vim.fs.dirname| to detect the root by traversing the file system
- upwards starting from the current directory until either a
+ an existing client should be re-used. The example above uses
+ |vim.fs.find()| and |vim.fs.dirname()| to detect the root by traversing
+ the file system upwards starting from the current directory until either a
`pyproject.toml` or `setup.py` file is found.
`workspace_folders` a list of { uri:string, name: string } tables. The
@@ -812,13 +813,13 @@ start({config}, {opts}) *vim.lsp.start()*
the project folder.
To ensure a language server is only started for languages it can handle,
- make sure to call |vim.lsp.start| within a |FileType| autocmd. Either use
- |:au|, |nvim_create_autocmd()| or put the call in a
+ make sure to call |vim.lsp.start()| within a |FileType| autocmd. Either
+ use |:au|, |nvim_create_autocmd()| or put the call in a
`ftplugin/<filetype_name>.lua` (See |ftplugin-name|)
Parameters: ~
{config} (table) Same configuration as documented in
- |lsp.start_client()|
+ |vim.lsp.start_client()|
{opts} nil|table Optional keyword arguments:
• reuse_client (fun(client: client, config: table): boolean)
Predicate used to decide if a client should be re-used.
@@ -837,15 +838,16 @@ start_client({config}) *vim.lsp.start_client()*
Parameters: ~
{cmd} (table|string|fun(dispatchers: table):table)
- command string or list treated like |jobstart|.
+ command string or list treated like |jobstart()|.
The command must launch the language server
process. `cmd` can also be a function that
creates an RPC client. The function receives a
dispatchers table and must return a table with
the functions `request`, `notify`, `is_closing`
- and `terminate` See |vim.lsp.rpc.request| and
- |vim.lsp.rpc.notify| For TCP there is a built-in
- rpc client factory: |vim.lsp.rpc.connect|
+ and `terminate` See |vim.lsp.rpc.request()| and
+ |vim.lsp.rpc.notify()| For TCP there is a
+ built-in rpc client factory:
+ |vim.lsp.rpc.connect()|
{cmd_cwd} (string, default=|getcwd()|) Directory to launch
the `cmd` process. Not related to `root_dir`.
{cmd_env} (table) Environment flags to pass to the LSP on
@@ -900,7 +902,7 @@ start_client({config}) *vim.lsp.start_client()*
when the client operation throws an error. `code`
is a number describing the error. Other arguments
may be passed depending on the error kind. See
- |vim.lsp.rpc.client_errors| for possible errors.
+ `vim.lsp.rpc.client_errors` for possible errors.
Use `vim.lsp.rpc.client_errors[code]` to get
human-friendly name.
{before_init} Callback with parameters (initialize_params,
@@ -945,9 +947,9 @@ start_client({config}) *vim.lsp.start_client()*
debounce occurs if nil
• exit_timeout (number|boolean, default false):
Milliseconds to wait for server to exit cleanly
- after sending the 'shutdown' request before
+ after sending the "shutdown" request before
sending kill -15. If set to false, nvim exits
- immediately after sending the 'shutdown'
+ immediately after sending the "shutdown"
request to the server.
{root_dir} (string) Directory where the LSP server will base
its workspaceFolders, rootUri, and rootPath on
@@ -1047,7 +1049,7 @@ completion({context}) *vim.lsp.buf.completion()*
character, if applicable)
See also: ~
- |vim.lsp.protocol.constants.CompletionTriggerKind|
+ vim.lsp.protocol.constants.CompletionTriggerKind
declaration({options}) *vim.lsp.buf.declaration()*
Jumps to the declaration of the symbol under the cursor.
@@ -1084,7 +1086,8 @@ document_highlight() *vim.lsp.buf.document_highlight()*
Note: Usage of |vim.lsp.buf.document_highlight()| requires the following
highlight groups to be defined or you won't be able to see the actual
- highlights. |LspReferenceText| |LspReferenceRead| |LspReferenceWrite|
+ highlights. |hl-LspReferenceText| |hl-LspReferenceRead|
+ |hl-LspReferenceWrite|
document_symbol({options}) *vim.lsp.buf.document_symbol()*
Lists all symbols in the current buffer in the quickfix window.
@@ -1193,7 +1196,7 @@ formatting_sync({options}, {timeout_ms})
{timeout_ms} (number) Request timeout
See also: ~
- |vim.lsp.buf.formatting_seq_sync|
+ |vim.lsp.buf.format()|
hover() *vim.lsp.buf.hover()*
Displays hover information about the symbol under the cursor in a floating
@@ -1211,7 +1214,7 @@ implementation({options}) *vim.lsp.buf.implementation()*
incoming_calls() *vim.lsp.buf.incoming_calls()*
Lists all the call sites of the symbol under the cursor in the |quickfix|
window. If the symbol can resolve to multiple items, the user can pick one
- in the |inputlist|.
+ in the |inputlist()|.
list_workspace_folders() *vim.lsp.buf.list_workspace_folders()*
List workspace folders.
@@ -1219,7 +1222,7 @@ list_workspace_folders() *vim.lsp.buf.list_workspace_folders()*
outgoing_calls() *vim.lsp.buf.outgoing_calls()*
Lists all the items that are called by the symbol under the cursor in the
|quickfix| window. If the symbol can resolve to multiple items, the user
- can pick one in the |inputlist|.
+ can pick one in the |inputlist()|.
*vim.lsp.buf.range_code_action()*
range_code_action({context}, {start_pos}, {end_pos})
@@ -1434,7 +1437,7 @@ signature_help({_}, {result}, {ctx}, {config})
{config} (table) Configuration table.
• border: (default=nil)
• Add borders to the floating window
- • See |vim.api.nvim_open_win()|
+ • See |nvim_open_win()|
==============================================================================
@@ -1565,7 +1568,7 @@ get_effective_tabstop({bufnr}) *vim.lsp.util.get_effective_tabstop()*
(number) indentation size
See also: ~
- |shiftwidth|
+ 'shiftwidth'
*vim.lsp.util.jump_to_location()*
jump_to_location({location}, {offset_encoding}, {reuse_win})
@@ -1722,7 +1725,7 @@ open_floating_preview({contents}, {syntax}, {opts})
{contents} (table) of lines to show in window
{syntax} (string) of syntax to set for opened buffer
{opts} (table) with optional fields (additional keys are passed
- on to |vim.api.nvim_open_win()|)
+ on to |nvim_open_win()|)
• height: (number) height of floating window
• width: (number) width of floating window
• wrap: (boolean, default true) wrap long lines
@@ -1859,7 +1862,7 @@ try_trim_markdown_code_blocks({lines})
{lines} (table) list of lines
Return: ~
- (string) filetype or 'markdown' if it was unchanged.
+ (string) filetype or "markdown" if it was unchanged.
==============================================================================
@@ -1964,7 +1967,7 @@ start({cmd}, {cmd_args}, {dispatchers}, {extra_spawn_params})
Starts an LSP server process and create an LSP RPC client object to
interact with it. Communication with the spawned process happens via
stdio. For communication via TCP, spawn a process manually and use
- |vim.lsp.rpc.connect|
+ |vim.lsp.rpc.connect()|
Parameters: ~
{cmd} (string) Command to start the LSP server.
diff --git a/runtime/doc/lua.txt b/runtime/doc/lua.txt
index 88547edfe5..3026476ab9 100644
--- a/runtime/doc/lua.txt
+++ b/runtime/doc/lua.txt
@@ -285,7 +285,7 @@ These commands execute a Lua chunk from either the command line (:lua, :luado)
or a file (:luafile) on the given line [range]. As always in Lua, each chunk
has its own scope (closure), so only global variables are shared between
command calls. The |lua-stdlib| modules, user modules, and anything else on
-|lua-package-path| are available.
+|package.path| are available.
The Lua print() function redirects its output to the Nvim message area, with
arguments separated by " " (space) instead of "\t" (tab).
@@ -617,7 +617,7 @@ A subset of the `vim.*` API is available in threads. This includes:
- `vim.loop` with a separate event loop per thread.
- `vim.mpack` and `vim.json` (useful for serializing messages between threads)
-- `require` in threads can use lua packages from the global |lua-package-path|
+- `require` in threads can use lua packages from the global |package.path|
- `print()` and `vim.inspect`
- `vim.diff`
- most utility functions in `vim.*` for working with pure lua values
@@ -663,7 +663,7 @@ vim.highlight.range({bufnr}, {ns}, {hlgroup}, {start}, {finish}, {opts})
{finish} finish position (tuple {line,col})
{opts} optional parameters:
• `regtype`: type of range (characterwise, linewise,
- or blockwise, see |setreg|), default `'v'`
+ or blockwise, see |setreg()|), default `'v'`
• `inclusive`: range includes end position,
default `false`
• `priority`: priority of highlight, default
@@ -906,7 +906,7 @@ vim.defer_fn({fn}, {timeout}) *vim.defer_fn*
Defers calling {fn} until {timeout} ms passes. Use to do a one-shot timer
that calls {fn}.
- Note: The {fn} is |schedule_wrap|ped automatically, so API functions are
+ Note: The {fn} is |vim.schedule_wrap()|ped automatically, so API functions are
safe to call.
Parameters: ~
@@ -978,6 +978,12 @@ vim.ui_attach({ns}, {options}, {callback}) *vim.ui_attach()*
{callback} receives event name plus additional parameters. See |ui-popupmenu|
and the sections below for event format for respective events.
+ WARNING: This api is considered experimental. Usability will vary for
+ different screen elements. In particular `ext_messages` behavior is subject
+ to further changes and usability improvements. This is expected to be
+ used to handle messages when setting 'cmdheight' to zero (which is
+ likewise experimental).
+
Example (stub for a |ui-popupmenu| implementation): >
ns = vim.api.nvim_create_namespace('my_fancy_pum')
@@ -1160,7 +1166,7 @@ window-scoped options. Note that this must NOT be confused with
global value of a |global-local| option, see |:setglobal|.
vim.o *vim.o*
- Get or set an |option|. Like `:set`. Invalid key is an error.
+ Get or set |options|. Like `:set`. Invalid key is an error.
Note: this works on both buffer-scoped and window-scoped options using the
current buffer and window.
@@ -1171,7 +1177,7 @@ vim.o *vim.o*
print(vim.o.foo) -- error: invalid key
<
vim.go *vim.go*
- Get or set a global |option|. Like `:setglobal`. Invalid key is
+ Get or set global |options|. Like `:setglobal`. Invalid key is
an error.
Note: this is different from |vim.o| because this accesses the global
@@ -1260,7 +1266,7 @@ offers object-oriented method for adding and removing entries.
Note that |vim.opt| returns an `Option` object, not the value of the option,
-which is accessed through |Option:get()|:
+which is accessed through |vim.opt:get()|:
Examples: ~
@@ -1275,8 +1281,8 @@ which is accessed through |Option:get()|:
`vim.pretty_print(vim.opt.wildignore:get())`
-In any of the above examples, to replicate the behavior |setlocal|, use
-`vim.opt_local`. Additionally, to replicate the behavior of |setglobal|, use
+In any of the above examples, to replicate the behavior |:setlocal|, use
+`vim.opt_local`. Additionally, to replicate the behavior of |:setglobal|, use
`vim.opt_global`.
@@ -1406,8 +1412,8 @@ connection_failure_errmsg({consequence})
defer_fn({fn}, {timeout}) *vim.defer_fn()*
Defers calling `fn` until `timeout` ms passes.
- Use to do a one-shot timer that calls `fn` Note: The {fn} is |schedule_wrap|ped automatically, so API functions are
- safe to call.
+ Use to do a one-shot timer that calls `fn` Note: The {fn} is |vim.schedule_wrap()|ped automatically, so API functions
+ are safe to call.
Parameters: ~
{fn} Callback to call once `timeout` expires
@@ -1541,7 +1547,7 @@ region({bufnr}, {pos1}, {pos2}, {regtype}, {inclusive}) *vim.region()*
{bufnr} (number) of buffer
{pos1} (line, column) tuple marking beginning of region
{pos2} (line, column) tuple marking end of region
- {regtype} type of selection (:help setreg)
+ {regtype} type of selection, see |setreg()|
{inclusive} (boolean) indicating whether the selection is
end-inclusive
@@ -1773,7 +1779,7 @@ tbl_deep_extend({behavior}, {...}) *vim.tbl_deep_extend()*
(table) Merged table
See also: ~
- |tbl_extend()|
+ |vim.tbl_extend()|
tbl_extend({behavior}, {...}) *vim.tbl_extend()*
Merges two or more map-like tables.
diff --git a/runtime/doc/luaref.txt b/runtime/doc/luaref.txt
index 9dbd2d4de5..0b04005e1a 100644
--- a/runtime/doc/luaref.txt
+++ b/runtime/doc/luaref.txt
@@ -20,72 +20,7 @@
See |luaref-copyright| for copyright and licenses.
- CONTENTS
- ============
-
- 1 INTRODUCTION........................|luaref-intro|
-
- 2 THE LANGUAGE........................|luaref-language|
- 2.1 Lexical Conventions...............|luaref-langLexConv|
- 2.2 Values and Types..................|luaref-langValTypes|
- 2.2.1 Coercion........................|luaref-langCoercion|
- 2.3 Variables.........................|luaref-langVariables|
- 2.4 Statements........................|luaref-langStats|
- 2.4.1 Chunks..........................|luaref-langChunks|
- 2.4.2 Blocks..........................|luaref-langBlocks|
- 2.4.3 Assignment......................|luaref-langAssign|
- 2.4.4 Control Structures..............|luaref-langContStructs|
- 2.4.5 For Statement...................|luaref-langForStat|
- 2.4.6 Function Calls as Statements....|luaref-langFuncStat|
- 2.4.7 Local Declarations..............|luaref-langLocalDec|
- 2.5 Expressions.......................|luaref-langExpressions|
- 2.5.1 Arithmetic Operators............|luaref-langArithOp|
- 2.5.2 Relational Operators............|luaref-langRelOp|
- 2.5.3 Logical Operators...............|luaref-langLogOp|
- 2.5.4 Concatenation...................|luaref-langConcat|
- 2.5.5 The Length Operator.............|luaref-langLength|
- 2.5.6 Precedence......................|luaref-langPrec|
- 2.5.7 Table Constructors..............|luaref-langTableConst|
- 2.5.8 Function Calls..................|luaref-langFuncCalls|
- 2.5.9 Function Definitions............|luaref-langFuncDefs|
- 2.6 Visibility Rules..................|luaref-langVisibRules|
- 2.7 Error Handling....................|luaref-langError|
- 2.8 Metatables........................|luaref-langMetatables|
- 2.9 Environments......................|luaref-langEnvironments|
- 2.10 Garbage Collection...............|luaref-langGC|
- 2.10.1 Garbage-Collection Metamethods.|luaref-langGCMeta|
- 2.10.2 Weak Tables....................|luaref-langWeaktables|
- 2.11 Coroutines.......................|luaref-langCoro|
-
- 3 THE APPLICATION PROGRAM INTERFACE...|luaref-api|
- 3.1 The Stack.........................|luaref-apiStack|
- 3.2 Stack Size........................|luaref-apiStackSize|
- 3.3 Pseudo-Indices....................|luaref-apiPseudoIndices|
- 3.4 C Closures........................|luaref-apiCClosures|
- 3.5 Registry..........................|luaref-apiRegistry|
- 3.6 Error Handling in C...............|luaref-apiError|
- 3.7 Functions and Types...............|luaref-apiFunctions|
- 3.8 The Debug Interface...............|luaref-apiDebug|
-
- 4 THE AUXILIARY LIBRARY...............|luaref-aux|
- 4.1 Functions and Types...............|luaref-auxFunctions|
-
- 5 STANDARD LIBRARIES..................|luaref-lib|
- 5.1 Basic Functions...................|luaref-libBasic|
- 5.2 Coroutine Manipulation............|luaref-libCoro|
- 5.3 Modules...........................|luaref-libModule|
- 5.4 String Manipulation...............|luaref-libString|
- 5.4.1 Patterns........................|luaref-libStringPat|
- 5.5 Table Manipulation................|luaref-libTable|
- 5.6 Mathematical Functions............|luaref-libMath|
- 5.7 Input and Output Facilities.......|luaref-libIO|
- 5.8 Operating System Facilities.......|luaref-libOS|
- 5.9 The Debug Library.................|luaref-libDebug|
-
- A BIBLIOGRAPHY........................|luaref-bibliography|
- B COPYRIGHT & LICENSES................|luaref-copyright|
- C LUAREF DOC..........................|luaref-doc|
-
+Type |gO| to see the table of contents.
==============================================================================
1 INTRODUCTION *luaref-intro*
@@ -120,7 +55,6 @@ Lua means "moon" in Portuguese and is pronounced LOO-ah.
==============================================================================
2 THE LANGUAGE *luaref-language*
-==============================================================================
This section describes the lexis, the syntax, and the semantics of Lua. In
other words, this section describes which tokens are valid, how they can be
@@ -292,7 +226,7 @@ parameter passing, and function returns always manipulate references to such
values; these operations do not imply any kind of copy.
The library function `type` returns a string describing the type of a given
-value (see |luaref-type|).
+value (see |luaref-type()|).
------------------------------------------------------------------------------
2.2.1 Coercion *luaref-langCoercion*
@@ -303,7 +237,7 @@ string to a number, following the usual conversion rules. Conversely, whenever
a number is used where a string is expected, the number is converted to a
string, in a reasonable format. For complete control of how numbers are
converted to strings, use the `format` function from the string library (see
-|luaref-string.format|).
+|string.format()|).
==============================================================================
2.3 Variables *luaref-langVariables*
@@ -344,7 +278,7 @@ has its own reference to an environment, so that all global variables in this
function will refer to this environment table. When a function is created, it
inherits the environment from the function that created it. To get the
environment table of a Lua function, you call `getfenv` (see
-|luaref-getfenv|). To replace it, you call `setfenv` (see |luaref-setfenv|).
+|lua_getfenv()|). To replace it, you call `setfenv` (see |luaref-setfenv()|).
(You can only manipulate the environment of C functions through the debug
library; see |luaref-libDebug|.)
@@ -515,21 +449,22 @@ through an arithmetic progression. It has the following syntax:
<
The `block` is repeated for `name` starting at the value of the first `exp`, until
it passes the second `exp` by steps of the third `exp`. More precisely,
-a `for` statement like
+a `for` statement like >
- `for var =` `e1, e2, e3` `do` `block` `end`
+ for var = e1, e2, e3 do block end
-is equivalent to the code:
+< is equivalent to the code: >
- `do`
- `local` `var, limit, step` `= tonumber(e1), tonumber(e2), tonumber(e3)`
- `if not (` `var` `and` `limit` `and` `step` `) then error() end`
- `while (` `step` `>0 and` `var` `<=` `limit` `)`
- `or (` `step` `<=0 and` `var` `>=` `limit` `) do`
- `block`
- `var` `=` `var` `+` `step`
- `end`
- `end`
+ do
+ local var, limit, step = tonumber(e1), tonumber(e2), tonumber(e3)
+ if not ( var and limit and step ) then error() end
+ while ( step >0 and var <= limit )
+ or ( step <=0 and var >= limit ) do
+ block
+ var = var + step
+ end
+ end
+<
Note the following:
@@ -555,18 +490,18 @@ A `for` statement like
`for` `var1, ..., varn` `in` `explist` `do` `block` `end`
-is equivalent to the code:
-
- `do`
- `local` `f, s, var` `=` `explist`
- `while true do`
- `local` `var1, ..., varn` `=` `f(s, var)`
- `var` `=` `var1`
- `if` `var` `== nil then break end`
- `block`
- `end`
- `end`
+is equivalent to the code: >
+ do
+ local f, s, var = explist
+ while true do
+ local var1, ..., varn = f(s, var)
+ var = var1
+ if var == nil then break end
+ block
+ end
+ end
+<
Note the following:
- `explist` is evaluated only once. Its results are an iterator function,
@@ -634,7 +569,7 @@ they are explained in |luaref-langFuncDefs|.
Binary operators comprise arithmetic operators (see |luaref-langArithOp|),
relational operators (see |luaref-langRelOp|), logical operators (see
|luaref-langLogOp|), and the concatenation operator (see |luaref-langConcat|).
-Unary operators comprise the unary minus (see |luaref-labgArithOp|), the unary
+Unary operators comprise the unary minus (see |luaref-langArithOp|), the unary
`not` (see |luaref-langLogOp|), and the unary length operator (see
|luaref-langLength|).
@@ -1050,13 +985,13 @@ them share the same `x`.
Because Lua is an embedded extension language, all Lua actions start from
C code in the host program calling a function from the Lua library (see
-|luaref-lua_pcall|). Whenever an error occurs during Lua compilation or
+|lua_pcall()|). Whenever an error occurs during Lua compilation or
execution, control returns to C, which can take appropriate measures (such as
print an error message).
Lua code can explicitly generate an error by calling the `error` function (see
-|luaref-error|). If you need to catch errors in Lua, you can use
-the `pcall` function (see |luaref-pcall|).
+|luaref-error()|). If you need to catch errors in Lua, you can use
+the `pcall` function (see |luaref-pcall()|).
==============================================================================
2.8 Metatables *luaref-metatable* *luaref-langMetatables*
@@ -1074,10 +1009,10 @@ previous example, the event is "add" and the metamethod is the function that
performs the addition.
You can query the metatable of any value through the `getmetatable` function
-(see |luaref-getmetatable|).
+(see |luaref-getmetatable()|).
You can replace the metatable of tables through the `setmetatable` function (see
-|luaref-setmetatable|). You cannot change the metatable of other types from Lua
+|luaref-setmetatable()|). You cannot change the metatable of other types from Lua
(except using the debug library); you must use the C API for that.
Tables and userdata have individual metatables (although multiple tables and
@@ -1385,8 +1320,8 @@ convenience feature for programmers to associate a table to a userdata.
Environments associated with threads are called global environments. They are
used as the default environment for their threads and non-nested functions
-created by the thread (through `loadfile` |luaref-loadfile|, `loadstring`
-|luaref-loadstring| or `load` |luaref-load|) and can be directly accessed by C
+created by the thread (through `loadfile` |luaref-loadfile()|, `loadstring`
+|luaref-loadstring()| or `load` |luaref-load()|) and can be directly accessed by C
code (see |luaref-apiPseudoIndices|).
Environments associated with C functions can be directly accessed by C code
@@ -1399,10 +1334,10 @@ used as the default environment for other Lua functions created by the
function.
You can change the environment of a Lua function or the running thread by
-calling `setfenv` (see |luaref-setenv|). You can get the environment of a Lua
-function or the running thread by calling `getfenv` (see |luaref-getfenv|). To
-manipulate the environment of other objects (userdata, C functions, other
-threads) you must use the C API.
+calling `setfenv`. You can get the environment of a Lua function or the
+running thread by calling `getfenv` (see |lua_getfenv()|). To manipulate the
+environment of other objects (userdata, C functions, other threads) you must
+use the C API.
==============================================================================
2.10 Garbage Collection *luaref-langGC*
@@ -1432,8 +1367,8 @@ collector too slow and may result in the collector never finishing a cycle.
The default, 2, means that the collector runs at "twice" the speed of memory
allocation.
-You can change these numbers by calling `lua_gc` (see |luaref-lua_gc|) in C or
-`collectgarbage` (see |luaref-collectgarbage|) in Lua. Both get percentage
+You can change these numbers by calling `lua_gc` (see |lua_gc()|) in C or
+`collectgarbage` (see |luaref-collectgarbage()|) in Lua. Both get percentage
points as arguments (so an argument of 100 means a real value of 1). With
these functions you can also control the collector directly (e.g., stop and
restart it).
@@ -1496,12 +1431,12 @@ multithread systems, however, a coroutine only suspends its execution by
explicitly calling a yield function.
You create a coroutine with a call to `coroutine.create` (see
-|luaref-coroutine.create|). Its sole argument is a function that is the main
+|coroutine.create()|). Its sole argument is a function that is the main
function of the coroutine. The `create` function only creates a new coroutine
and returns a handle to it (an object of type `thread`); it does not start the
coroutine execution.
-When you first call `coroutine.resume` (see |luaref-coroutine.resume|),
+When you first call `coroutine.resume` (see |coroutine.resume()|),
passing as its first argument the thread returned by `coroutine.create`, the
coroutine starts its execution, at the first line of its main function. Extra
arguments passed to `coroutine.resume` are passed on to the coroutine main
@@ -1516,7 +1451,7 @@ main function. In case of errors, `coroutine.resume` returns `false` plus an
error message.
A coroutine yields by calling `coroutine.yield` (see
-|luaref-coroutine.yield|). When a coroutine yields, the corresponding
+|coroutine.yield()|). When a coroutine yields, the corresponding
`coroutine.resume` returns immediately, even if the yield happens inside
nested function calls (that is, not in the main function, but in a function
directly or indirectly called by the main function). In the case of a yield,
@@ -1526,7 +1461,7 @@ its execution from the point where it yielded, with the call to
`coroutine.yield` returning any extra arguments passed to `coroutine.resume`.
Like `coroutine.create`, the `coroutine.wrap` function (see
-|luaref-coroutine.wrap|) also creates a coroutine, but instead of returning
+|coroutine.wrap()|) also creates a coroutine, but instead of returning
the coroutine itself, it returns a function that, when called, resumes the
coroutine. Any arguments passed to this function go as extra arguments to
`coroutine.resume`. `coroutine.wrap` returns all the values returned by
@@ -1595,7 +1530,7 @@ Whenever Lua calls C, the called function gets a new stack, which is
independent of previous stacks and of stacks of C functions that are still
active. This stack initially contains any arguments to the C function and it
is where the C function pushes its results to be returned to the caller (see
-|luaref-lua_CFunction|).
+|lua_CFunction()|).
*luaref-stackindex*
For convenience, most query operations in the API do not follow a strict stack
@@ -1615,7 +1550,7 @@ if `1 <= abs(index) <= top`).
When you interact with Lua API, you are responsible for ensuring consistency.
In particular, you are responsible for controlling stack overflow. You can
use the function `lua_checkstack` to grow the stack size (see
-|luaref-lua_checkstack|).
+|lua_checkstack()|).
Whenever Lua calls C, it ensures that at least `LUA_MINSTACK` stack positions
are available. `LUA_MINSTACK` is defined as 20, so that usually you do not
@@ -1656,14 +1591,14 @@ global variable, do
When a C function is created, it is possible to associate some values with it,
thus creating a C closure; these values are called upvalues and are accessible
-to the function whenever it is called (see |luaref-lua_pushcclosure|).
+to the function whenever it is called (see |lua_pushcclosure()|).
Whenever a C function is called, its upvalues are located at specific
pseudo-indices. These pseudo-indices are produced by the macro
-`lua_upvalueindex` (see |luaref-lua_upvalueindex|). The first value associated
-with a function is at position `lua_upvalueindex(1)`, and so on. Any access to
-`lua_upvalueindex(` `n` `)`, where `n` is greater than the number of upvalues of
-the current function, produces an acceptable (but invalid) index.
+`lua_upvalueindex`. The first value associated with a function is at position
+`lua_upvalueindex(1)`, and so on. Any access to `lua_upvalueindex(` `n` `)`,
+where `n` is greater than the number of upvalues of the current function,
+produces an acceptable (but invalid) index.
==============================================================================
3.5 Registry *luaref-registry* *luaref-apiRegistry*
@@ -1694,11 +1629,11 @@ Almost any function in the API may raise an error, for instance due to a
memory allocation error. The following functions run in protected mode (that
is, they create a protected environment to run), so they never raise an error:
`lua_newstate`, `lua_close`, `lua_load`, `lua_pcall`, and `lua_cpcall` (see
-|luaref-lua_newstate|, |luaref-lua_close|, |luaref-lua_load|,
-|luaref-lua_pcall|, and |luaref-lua_cpcall|).
+|lua_newstate()|, |lua_close()|, |lua_load()|,
+|lua_pcall()|, and |lua_cpcall()|).
Inside a C function you can raise an error by calling `lua_error` (see
-|luaref-lua_error|).
+|lua_error()|).
==============================================================================
3.7 Functions and Types *luaref-apiFunctions*
@@ -1715,7 +1650,7 @@ lua_Alloc *lua_Alloc()*
The type of the memory-allocation function used by Lua states. The
allocator function must provide a functionality similar to `realloc`,
but not exactly the same. Its arguments are `ud`, an opaque pointer
- passed to `lua_newstate` (see |luaref-lua_newstate|); `ptr`, a pointer
+ passed to `lua_newstate` (see |lua_newstate()|); `ptr`, a pointer
to the block being allocated/reallocated/freed; `osize`, the original
size of the block; `nsize`, the new size of the block. `ptr` is `NULL`
if and only if `osize` is zero. When `nsize` is zero, the allocator
@@ -1729,7 +1664,7 @@ lua_Alloc *lua_Alloc()*
Here is a simple implementation for the allocator function. It is used
in the auxiliary library by `luaL_newstate` (see
- |luaref-luaL_newstate|).
+ |luaL_newstate()|).
>
static void *l_alloc (void *ud, void *ptr, size_t osize,
size_t nsize) {
@@ -1813,7 +1748,7 @@ lua_CFunction *luaref-cfunction* *lua_CFunction()*
following protocol, which defines the way parameters and results are
passed: a C function receives its arguments from Lua in its stack in
direct order (the first argument is pushed first). So, when the
- function starts, `lua_gettop(L)` (see |luaref-lua_gettop|) returns the
+ function starts, `lua_gettop(L)` (see |lua_gettop()|) returns the
number of arguments received by the function. The first argument (if
any) is at index 1 and its last argument is at index `lua_gettop(L)`.
To return values to Lua, a C function just pushes them onto the stack,
@@ -1881,7 +1816,7 @@ lua_cpcall *lua_cpcall()*
Calls the C function `func` in protected mode. `func` starts with only
one element in its stack, a light userdata containing `ud`. In case of
errors, `lua_cpcall` returns the same error codes as `lua_pcall` (see
- |luaref-lua_pcall|), plus the error object on the top of the stack;
+ |lua_pcall()|), plus the error object on the top of the stack;
otherwise, it returns zero, and does not change the stack. All values
returned by `func` are discarded.
@@ -1893,7 +1828,7 @@ lua_createtable *lua_createtable()*
has space pre-allocated for `narr` array elements and `nrec` non-array
elements. This pre-allocation is useful when you know exactly how many
elements the table will have. Otherwise you can use the function
- `lua_newtable` (see |luaref-lua_newtable|).
+ `lua_newtable` (see |lua_newtable()|).
lua_dump *lua_dump()*
>
@@ -1903,7 +1838,7 @@ lua_dump *lua_dump()*
of the stack and produces a binary chunk that, if loaded again,
results in a function equivalent to the one dumped. As it produces
parts of the chunk, `lua_dump` calls function `writer` (see
- |luaref-lua_Writer|) with the given `data` to write them.
+ |lua_Writer()|) with the given `data` to write them.
The value returned is the error code returned by the last call to the
writer; 0 means no errors.
@@ -1925,7 +1860,7 @@ lua_error *lua_error()*
<
Generates a Lua error. The error message (which can actually be a Lua
value of any type) must be on the stack top. This function does a long
- jump, and therefore never returns (see |luaref-luaL_error|).
+ jump, and therefore never returns (see |luaL_error()|).
lua_gc *lua_gc()*
>
@@ -1936,25 +1871,25 @@ lua_gc *lua_gc()*
This function performs several tasks, according to the value of the
parameter `what`:
- `LUA_GCSTOP` stops the garbage collector.
- `LUA_GCRESTART` restarts the garbage collector.
- `LUA_GCCOLLECT` performs a full garbage-collection cycle.
- `LUA_GCCOUNT` returns the current amount of memory (in Kbytes) in
+ - `LUA_GCSTOP` stops the garbage collector.
+ - `LUA_GCRESTART` restarts the garbage collector.
+ - `LUA_GCCOLLECT` performs a full garbage-collection cycle.
+ - `LUA_GCCOUNT` returns the current amount of memory (in Kbytes) in
use by Lua.
- `LUA_GCCOUNTB` returns the remainder of dividing the current
+ - `LUA_GCCOUNTB` returns the remainder of dividing the current
amount of bytes of memory in use by Lua by 1024.
- `LUA_GCSTEP` performs an incremental step of garbage collection.
+ - `LUA_GCSTEP` performs an incremental step of garbage collection.
The step "size" is controlled by `data` (larger
values mean more steps) in a non-specified way. If
you want to control the step size you must
experimentally tune the value of `data`. The
function returns 1 if the step finished a
garbage-collection cycle.
- `LUA_GCSETPAUSE` sets `data` /100 as the new value for the
+ - `LUA_GCSETPAUSE` sets `data` /100 as the new value for the
`pause` of the collector (see |luaref-langGC|).
The function returns the previous value of the
pause.
- `LUA_GCSETSTEPMUL` sets `data` /100 as the new value for the
+ - `LUA_GCSETSTEPMUL`sets `data` /100 as the new value for the
`step` `multiplier` of the collector (see
|luaref-langGC|). The function returns the
previous value of the step multiplier.
@@ -1965,7 +1900,7 @@ lua_getallocf *lua_getallocf()*
<
Returns the memory-allocation function of a given state. If `ud` is
not `NULL`, Lua stores in `*ud` the opaque pointer passed to
- `lua_newstate` (see |luaref-lua_newstate|).
+ `lua_newstate` (see |lua_newstate()|).
lua_getfenv *lua_getfenv()*
>
@@ -2136,10 +2071,10 @@ lua_load *lua_load()*
This function only loads a chunk; it does not run it.
`lua_load` automatically detects whether the chunk is text or binary,
- and loads it accordingly (see program `luac`, |luaref-luac|).
+ and loads it accordingly (see program `luac`).
The `lua_load` function uses a user-supplied `reader` function to read
- the chunk (see |luaref-lua_Reader|). The `data` argument is an opaque
+ the chunk (see |lua_Reader()|). The `data` argument is an opaque
value passed to the reader function.
The `chunkname` argument gives a name to the chunk, which is used for
@@ -2161,14 +2096,14 @@ lua_newtable *lua_newtable()*
<
Creates a new empty table and pushes it onto the stack. It is
equivalent to `lua_createtable(L, 0, 0)` (see
- |luaref-lua_createtable|).
+ |lua_createtable()|).
lua_newthread *lua_newthread()*
>
lua_State *lua_newthread (lua_State *L);
<
Creates a new thread, pushes it on the stack, and returns a pointer to
- a `lua_State` (see |luaref-lua_State|) that represents this new
+ a `lua_State` (see |lua_State()|) that represents this new
thread. The new state returned by this function shares with the
original state all global objects (such as tables), but has an
independent execution stack.
@@ -2218,7 +2153,7 @@ lua_next *lua_next()*
}
<
While traversing a table, do not call `lua_tolstring` (see
- |luaref-lua_tolstring|) directly on a key, unless you know that the
+ |lua_tolstring()|) directly on a key, unless you know that the
key is actually a string. Recall that `lua_tolstring` `changes` the
value at the given index; this confuses the next call to `lua_next`.
@@ -2248,7 +2183,7 @@ lua_pcall *lua_pcall()*
Calls a function in protected mode.
Both `nargs` and `nresults` have the same meaning as in `lua_call`
- (see |luaref-lua_call|). If there are no errors during the call,
+ (see |lua_call()|). If there are no errors during the call,
`lua_pcall` behaves exactly like `lua_call`. However, if there is any
error, `lua_pcall` catches it, pushes a single value on the stack (the
error message), and returns an error code. Like `lua_call`,
@@ -2314,7 +2249,7 @@ lua_pushcfunction *lua_pushcfunction()*
Any function to be registered in Lua must follow the correct protocol
to receive its parameters and return its results (see
- |luaref-lua_CFunction|).
+ |lua_CFunction()|).
`lua_pushcfunction` is defined as a macro:
>
@@ -2408,7 +2343,7 @@ lua_pushvfstring *lua_pushvfstring()*
const char *fmt,
va_list argp);
<
- Equivalent to `lua_pushfstring` (see |luaref-pushfstring|), except
+ Equivalent to `lua_pushfstring` (see |lua_pushfstring()|), except
that it receives a `va_list` instead of a variable number of
arguments.
@@ -2425,7 +2360,7 @@ lua_rawget *lua_rawget()*
>
void lua_rawget (lua_State *L, int index);
<
- Similar to `lua_gettable` (see |luaref-lua_gettable|), but does a raw
+ Similar to `lua_gettable` (see |lua_gettable()|), but does a raw
access (i.e., without metamethods).
lua_rawgeti *lua_rawgeti()*
@@ -2440,7 +2375,7 @@ lua_rawset *lua_rawset()*
>
void lua_rawset (lua_State *L, int index);
<
- Similar to `lua_settable` (see |luaref-lua_settable|), but does a raw
+ Similar to `lua_settable` (see |lua_settable()|), but does a raw
assignment (i.e., without metamethods).
lua_rawseti *lua_rawseti()*
@@ -2459,7 +2394,7 @@ lua_Reader *lua_Reader()*
void *data,
size_t *size);
<
- The reader function used by `lua_load` (see |luaref-lua_load|). Every
+ The reader function used by `lua_load` (see |lua_load()|). Every
time it needs another piece of the chunk, `lua_load` calls the reader,
passing along its `data` parameter. The reader must return a pointer
to a block of memory with a new piece of the chunk and set `size` to
@@ -2504,15 +2439,15 @@ lua_resume *lua_resume()*
Starts and resumes a coroutine in a given thread.
To start a coroutine, you first create a new thread (see
- |luaref-lua_newthread|); then you push onto its stack the main
+ |lua_newthread()|); then you push onto its stack the main
function plus any arguments; then you call `lua_resume` (see
- |luaref-lua_resume|) with `narg` being the number of arguments. This
+ |lua_resume()|) with `narg` being the number of arguments. This
call returns when the coroutine suspends or finishes its execution.
When it returns, the stack contains all values passed to `lua_yield`
- (see |luaref-lua_yield|), or all values returned by the body function.
+ (see |lua_yield()|), or all values returned by the body function.
`lua_resume` returns `LUA_YIELD` if the coroutine yields, 0 if the
coroutine finishes its execution without errors, or an error code in
- case of errors (see |luaref-lua_pcall|). In case of errors, the stack
+ case of errors (see |lua_pcall()|). In case of errors, the stack
is not unwound, so you can use the debug API over it. The error
message is on the top of the stack. To restart a coroutine, you put on
its stack only the values to be passed as results from `lua_yield`,
@@ -2593,7 +2528,7 @@ lua_State *lua_State()*
A pointer to this state must be passed as the first argument to every
function in the library, except to `lua_newstate` (see
- |luaref-lua_newstate|), which creates a Lua state from scratch.
+ |lua_newstate()|), which creates a Lua state from scratch.
lua_status *lua_status()*
>
@@ -2614,7 +2549,7 @@ lua_toboolean *lua_toboolean()*
any Lua value different from `false` and `nil`; otherwise it returns
0. It also returns 0 when called with a non-valid index. (If you want
to accept only actual boolean values, use `lua_isboolean`
- |luaref-lua_isboolean| to test the value's type.)
+ |lua_isboolean()| to test the value's type.)
lua_tocfunction *lua_tocfunction()*
>
@@ -2628,7 +2563,7 @@ lua_tointeger *lua_tointeger()*
lua_Integer lua_tointeger (lua_State *L, int idx);
<
Converts the Lua value at the given acceptable index to the signed
- integral type `lua_Integer` (see |luaref-lua_Integer|). The Lua value
+ integral type `lua_Integer` (see |lua_Integer()|). The Lua value
must be a number or a string convertible to a number (see
|luaref-langCoercion|); otherwise, `lua_tointeger` returns 0.
@@ -2644,7 +2579,7 @@ lua_tolstring *lua_tolstring()*
Lua value must be a string or a number; otherwise, the function
returns `NULL`. If the value is a number, then `lua_tolstring` also
`changes the actual value in the stack to a` `string`. (This change
- confuses `lua_next` |luaref-lua_next| when `lua_tolstring` is applied
+ confuses `lua_next` |lua_next()| when `lua_tolstring` is applied
to keys during a table traversal.)
`lua_tolstring` returns a fully aligned pointer to a string inside the
@@ -2659,7 +2594,7 @@ lua_tonumber *lua_tonumber()*
lua_Number lua_tonumber (lua_State *L, int index);
<
Converts the Lua value at the given acceptable index to the C type
- `lua_Number` (see |luaref-lua_Number|). The Lua value must be a number
+ `lua_Number` (see |lua_Number()|). The Lua value must be a number
or a string convertible to a number (see |luaref-langCoercion|);
otherwise, `lua_tonumber` returns 0.
@@ -2679,7 +2614,7 @@ lua_tostring *lua_tostring()*
>
const char *lua_tostring (lua_State *L, int index);
<
- Equivalent to `lua_tolstring` (see |luaref-lua_tolstring|) with `len`
+ Equivalent to `lua_tolstring` (see |lua_tolstring()|) with `len`
equal to `NULL`.
lua_tothread *lua_tothread()*
@@ -2687,7 +2622,7 @@ lua_tothread *lua_tothread()*
lua_State *lua_tothread (lua_State *L, int index);
<
Converts the value at the given acceptable index to a Lua thread
- (represented as `lua_State*` |luaref-lua_State|). This value must be a
+ (represented as `lua_State*` |lua_State()|). This value must be a
thread; otherwise, the function returns `NULL`.
lua_touserdata *lua_touserdata()*
@@ -2723,7 +2658,7 @@ lua_Writer *lua_Writer()*
size_t sz,
void* ud);
<
- The writer function used by `lua_dump` (see |luaref-lua_dump|). Every
+ The writer function used by `lua_dump` (see |lua_dump()|). Every
time it produces another piece of chunk, `lua_dump` calls the writer,
passing along the buffer to be written (`p`), its size (`sz`), and the
`data` parameter supplied to `lua_dump`.
@@ -2753,7 +2688,7 @@ lua_yield *lua_yield()*
<
When a C function calls `lua_yield` in that way, the running coroutine
suspends its execution, and the call to `lua_resume` (see
- |luaref-lua_resume|) that started this coroutine returns. The
+ |lua_resume()|) that started this coroutine returns. The
parameter `nresults` is the number of values from the stack that are
passed as results to `lua_resume`.
@@ -2782,50 +2717,52 @@ need "inside information" from the interpreter.
lua_Debug *lua_Debug()*
- `typedef struct lua_Debug {`
- `int event;`
- `const char *name; /* (n) */`
- `const char *namewhat; /* (n) */`
- `const char *what; /* (S) */`
- `const char *source; /* (S) */`
- `int currentline; /* (l) */`
- `int nups; /* (u) number of upvalues */`
- `int linedefined; /* (S) */`
- `int lastlinedefined; /* (S) */`
- `char short_src[LUA_IDSIZE]; /* (S) */`
- `/* private part */`
- `other fields`
- `} lua_Debug;`
+>
+ typedef struct lua_Debug {
+ int event;
+ const char *name; /* (n) */
+ const char *namewhat; /* (n) */
+ const char *what; /* (S) */
+ const char *source; /* (S) */
+ int currentline; /* (l) */
+ int nups; /* (u) number of upvalues */
+ int linedefined; /* (S) */
+ int lastlinedefined; /* (S) */
+ char short_src[LUA_IDSIZE]; /* (S) */
+ /* private part */
+ other fields
+ } lua_Debug;
+<
A structure used to carry different pieces of information about an active
-function. `lua_getstack` (see |luaref-lua_getstack|) fills only the private part
+function. `lua_getstack` (see |lua_getstack()|) fills only the private part
of this structure, for later use. To fill the other fields of `lua_Debug` with
-useful information, call `lua_getinfo` (see |luaref-lua_getinfo|).
+useful information, call `lua_getinfo` (see |lua_getinfo()|).
The fields of `lua_Debug` have the following meaning:
- `source` If the function was defined in a string, then `source` is
+- `source` If the function was defined in a string, then `source` is
that string. If the function was defined in a file, then
`source` starts with a `@` followed by the file name.
- `short_src` a "printable" version of `source`, to be used in error messages.
- `linedefined` the line number where the definition of the function starts.
- `lastlinedefined` the line number where the definition of the function ends.
- `what` the string `"Lua"` if the function is a Lua function,
+- `short_src` a "printable" version of `source`, to be used in error messages.
+- `linedefined` the line number where the definition of the function starts.
+- `lastlinedefined` the line number where the definition of the function ends.
+- `what` the string `"Lua"` if the function is a Lua function,
`"C"` if it is a C function, `"main"` if it is the main
part of a chunk, and `"tail"` if it was a function that
did a tail call. In the latter case, Lua has no other
information about the function.
- `currentline` the current line where the given function is executing.
+- `currentline` the current line where the given function is executing.
When no line information is available, `currentline` is
set to -1.
- `name` a reasonable name for the given function. Because
+- `name` a reasonable name for the given function. Because
functions in Lua are first-class values, they do not have
a fixed name: some functions may be the value of multiple
global variables, while others may be stored only in a
table field. The `lua_getinfo` function checks how the
function was called to find a suitable name. If it cannot
find a name, then `name` is set to `NULL`.
- `namewhat` explains the `name` field. The value of `namewhat` can be
+- `namewhat` explains the `name` field. The value of `namewhat` can be
`"global"`, `"local"`, `"method"`, `"field"`,
`"upvalue"`, or `""` (the empty string), according to how
the function was called. (Lua uses the empty string when
@@ -2858,8 +2795,8 @@ lua_getinfo *lua_getinfo()*
To get information about a function invocation, the parameter `ar`
must be a valid activation record that was filled by a previous call
- to `lua_getstack` (see |luaref-lua_getstack|) or given as argument to
- a hook (see |luaref-lua_Hook|).
+ to `lua_getstack` (see |lua_getstack()|) or given as argument to
+ a hook (see |lua_Hook()|).
To get information about a function you push it onto the stack and
start the `what` string with the character `>`. (In that case,
@@ -2896,8 +2833,8 @@ lua_getlocal *lua_getlocal()*
<
Gets information about a local variable of a given activation record.
The parameter `ar` must be a valid activation record that was filled
- by a previous call to `lua_getstack` (see |luaref-lua_getstack|) or
- given as argument to a hook (see |luaref-lua_Hook|). The index `n`
+ by a previous call to `lua_getstack` (see |lua_getstack()|) or
+ given as argument to a hook (see |lua_Hook()|). The index `n`
selects which local variable to inspect (1 is the first parameter or
active local variable, and so on, until the last active local
variable). `lua_getlocal` pushes the variable's value onto the stack
@@ -2916,7 +2853,7 @@ lua_getstack *lua_getstack()*
<
Gets information about the interpreter runtime stack.
- This function fills parts of a `lua_Debug` (see |luaref-lua_Debug|)
+ This function fills parts of a `lua_Debug` (see |lua_Debug()|)
structure with an identification of the `activation record` of the
function executing at a given level. Level 0 is the current running
function, whereas level `n+1` is the function that has called level
@@ -2951,7 +2888,7 @@ lua_Hook *lua_Hook()*
`LUA_HOOKTAILRET`, `LUA_HOOKLINE`, and `LUA_HOOKCOUNT`. Moreover, for
line events, the field `currentline` is also set. To get the value of
any other field in `ar`, the hook must call `lua_getinfo` (see
- |luaref-lua_getinfo|). For return events, `event` may be
+ |lua_getinfo()|). For return events, `event` may be
`LUA_HOOKRET`, the normal value, or `LUA_HOOKTAILRET`. In the latter
case, Lua is simulating a return from a function that did a tail call;
in this case, it is useless to call `lua_getinfo`.
@@ -2996,7 +2933,7 @@ lua_setlocal *lua_setlocal()*
<
Sets the value of a local variable of a given activation record.
Parameters `ar` and `n` are as in `lua_getlocal` (see
- |luaref-lua_getlocal|). `lua_setlocal` assigns the value at the top of
+ |lua_getlocal()|). `lua_setlocal` assigns the value at the top of
the stack to the variable and returns its name. It also pops the value
from the stack.
@@ -3010,7 +2947,7 @@ lua_setupvalue *lua_setupvalue()*
Sets the value of a closure's upvalue. It assigns the value at the top
of the stack to the upvalue and returns its name. It also pops the
value from the stack. Parameters `funcindex` and `n` are as in the
- `lua_getupvalue` (see |luaref-lua_getupvalue|).
+ `lua_getupvalue` (see |lua_getupvalue()|).
Returns `NULL` (and pops nothing) when the index is greater than the
number of upvalues.
@@ -3071,36 +3008,36 @@ luaL_addchar *luaL_addchar()*
>
void luaL_addchar (luaL_Buffer *B, char c);
<
- Adds the character `c` to the buffer `B` (see |luaref-luaL_Buffer|).
+ Adds the character `c` to the buffer `B` (see |luaL_Buffer()|).
luaL_addlstring *luaL_addlstring()*
>
void luaL_addlstring (luaL_Buffer *B, const char *s, size_t l);
<
Adds the string pointed to by `s` with length `l` to the buffer `B`
- (see |luaref-luaL_Buffer|). The string may contain embedded zeros.
+ (see |luaL_Buffer()|). The string may contain embedded zeros.
luaL_addsize *luaL_addsize()*
>
void luaL_addsize (luaL_Buffer *B, size_t n);
<
- Adds to the buffer `B` (see |luaref-luaL_Buffer|) a string of length
+ Adds to the buffer `B` (see |luaL_Buffer()|) a string of length
`n` previously copied to the buffer area (see
- |luaref-luaL_prepbuffer|).
+ |luaL_prepbuffer()|).
luaL_addstring *luaL_addstring()*
>
void luaL_addstring (luaL_Buffer *B, const char *s);
<
Adds the zero-terminated string pointed to by `s` to the buffer `B`
- (see |luaref-luaL_Buffer|). The string may not contain embedded zeros.
+ (see |luaL_Buffer()|). The string may not contain embedded zeros.
luaL_addvalue *luaL_addvalue()*
>
void luaL_addvalue (luaL_Buffer *B);
<
Adds the value at the top of the stack to the buffer `B` (see
- |luaref-luaL_Buffer|). Pops the value.
+ |luaL_Buffer()|). Pops the value.
This is the only function on string buffers that can (and must) be
called with an extra element on the stack, which is the value to be
@@ -3142,11 +3079,11 @@ luaL_Buffer *luaL_Buffer()*
- First you declare a variable `b` of type `luaL_Buffer`.
- Then you initialize it with a call `luaL_buffinit(L, &b)` (see
- |luaref-luaL_buffinit|).
+ |luaL_buffinit()|).
- Then you add string pieces to the buffer calling any of the
`luaL_add*` functions.
- You finish by calling `luaL_pushresult(&b)` (see
- |luaref-luaL_pushresult|). This call leaves the final string on the
+ |luaL_pushresult()|). This call leaves the final string on the
top of the stack.
During its normal operation, a string buffer uses a variable number of
@@ -3156,7 +3093,7 @@ luaL_Buffer *luaL_Buffer()*
that is, when you call a buffer operation, the stack is at the same
level it was immediately after the previous buffer operation. (The
only exception to this rule is `luaL_addvalue`
- |luaref-luaL_addvalue|.) After calling `luaL_pushresult` the stack is
+ |luaL_addvalue()|.) After calling `luaL_pushresult` the stack is
back to its level when the buffer was initialized, plus the final
string on its top.
@@ -3165,7 +3102,7 @@ luaL_buffinit *luaL_buffinit()*
void luaL_buffinit (lua_State *L, luaL_Buffer *B);
<
Initializes a buffer `B`. This function does not allocate any space;
- the buffer must be declared as a variable (see |luaref-luaL_Buffer|).
+ the buffer must be declared as a variable (see |luaL_Buffer()|).
luaL_callmeta *luaL_callmeta()*
>
@@ -3199,7 +3136,7 @@ luaL_checkinteger *luaL_checkinteger()*
lua_Integer luaL_checkinteger (lua_State *L, int narg);
<
Checks whether the function argument `narg` is a number and returns
- this number cast to a `lua_Integer` (see |luaref-lua_Integer|).
+ this number cast to a `lua_Integer` (see |lua_Integer()|).
luaL_checklong *luaL_checklong()*
>
@@ -3220,7 +3157,7 @@ luaL_checknumber *luaL_checknumber()*
lua_Number luaL_checknumber (lua_State *L, int narg);
<
Checks whether the function argument `narg` is a number and returns
- this number (see |luaref-lua_Number|).
+ this number (see |lua_Number()|).
luaL_checkoption *luaL_checkoption()*
>
@@ -3262,14 +3199,14 @@ luaL_checktype *luaL_checktype()*
void luaL_checktype (lua_State *L, int narg, int t);
<
Checks whether the function argument `narg` has type `t` (see
- |luaref-lua_type|).
+ |lua_type()|).
luaL_checkudata *luaL_checkudata()*
>
void *luaL_checkudata (lua_State *L, int narg, const char *tname);
<
Checks whether the function argument `narg` is a userdata of the type
- `tname` (see |luaref-luaL_newmetatable|).
+ `tname` (see |luaL_newmetatable()|).
luaL_dofile *luaL_dofile()*
>
@@ -3297,7 +3234,7 @@ luaL_error *luaL_error()*
<
Raises an error. The error message format is given by `fmt` plus any
extra arguments, following the same rules of `lua_pushfstring` (see
- |luaref-lua_pushfstring|). It also adds at the beginning of the
+ |lua_pushfstring()|). It also adds at the beginning of the
message the file name and the line number where the error occurred, if
this information is available.
@@ -3317,7 +3254,7 @@ luaL_getmetatable *luaL_getmetatable()*
void luaL_getmetatable (lua_State *L, const char *tname);
<
Pushes onto the stack the metatable associated with name `tname` in
- the registry (see |luaref-luaL_newmetatable|).
+ the registry (see |luaL_newmetatable()|).
luaL_gsub *luaL_gsub()*
>
@@ -3338,7 +3275,7 @@ luaL_loadbuffer *luaL_loadbuffer()*
const char *name);
<
Loads a buffer as a Lua chunk. This function uses `lua_load` (see
- |luaref-lua_load|) to load the chunk in the buffer pointed to by
+ |lua_load()|) to load the chunk in the buffer pointed to by
`buff` with size `sz`.
This function returns the same results as `lua_load`. `name` is the
@@ -3349,7 +3286,7 @@ luaL_loadfile *luaL_loadfile()*
int luaL_loadfile (lua_State *L, const char *filename);
<
Loads a file as a Lua chunk. This function uses `lua_load` (see
- |luaref-lua_load|) to load the chunk in the file named `filename`. If
+ |lua_load()|) to load the chunk in the file named `filename`. If
`filename` is `NULL`, then it loads from the standard input. The first
line in the file is ignored if it starts with a `#`.
@@ -3363,7 +3300,7 @@ luaL_loadstring *luaL_loadstring()*
int luaL_loadstring (lua_State *L, const char *s);
<
Loads a string as a Lua chunk. This function uses `lua_load` (see
- |luaref-lua_load|) to load the chunk in the zero-terminated string
+ |lua_load()|) to load the chunk in the zero-terminated string
`s`.
This function returns the same results as `lua_load`.
@@ -3387,9 +3324,9 @@ luaL_newstate *luaL_newstate()*
lua_State *luaL_newstate (void);
<
Creates a new Lua state. It calls `lua_newstate` (see
- |luaref-lua_newstate|) with an allocator based on the standard C
+ |lua_newstate()|) with an allocator based on the standard C
`realloc` function and then sets a panic function (see
- |luaref-lua_atpanic|) that prints an error message to the standard
+ |lua_atpanic()|) that prints an error message to the standard
error output in case of fatal errors.
Returns the new state, or `NULL` if there is a memory allocation
@@ -3417,7 +3354,7 @@ luaL_optinteger *luaL_optinteger()*
lua_Integer d);
<
If the function argument `narg` is a number, returns this number cast
- to a `lua_Integer` (see |luaref-lua_Integer|). If this argument is
+ to a `lua_Integer` (see |lua_Integer()|). If this argument is
absent or is `nil`, returns `d`. Otherwise, raises an error.
luaL_optlong *luaL_optlong()*
@@ -3464,9 +3401,9 @@ luaL_prepbuffer *luaL_prepbuffer()*
char *luaL_prepbuffer (luaL_Buffer *B);
<
Returns an address to a space of size `LUAL_BUFFERSIZE` where you can
- copy a string to be added to buffer `B` (see |luaref-luaL_Buffer|).
+ copy a string to be added to buffer `B` (see |luaL_Buffer()|).
After copying the string into this space you must call `luaL_addsize`
- (see |luaref-luaL_addsize|) with the size of the string to actually
+ (see |luaL_addsize()|) with the size of the string to actually
add it to the buffer.
luaL_pushresult *luaL_pushresult()*
@@ -3486,8 +3423,8 @@ luaL_ref *luaL_ref()*
A reference is a unique integer key. As long as you do not manually
add integer keys into table `t`, `luaL_ref` ensures the uniqueness of
the key it returns. You can retrieve an object referred by reference
- `r` by calling `lua_rawgeti(L, t, r)` (see |luaref-lua_rawgeti|).
- Function `luaL_unref` (see |luaref-luaL_unref|) frees a reference and
+ `r` by calling `lua_rawgeti(L, t, r)` (see |lua_rawgeti()|).
+ Function `luaL_unref` (see |luaL_unref()|) frees a reference and
its associated object.
If the object at the top of the stack is `nil`, `luaL_ref` returns the
@@ -3502,7 +3439,7 @@ luaL_Reg *luaL_Reg()*
} luaL_Reg;
<
Type for arrays of functions to be registered by `luaL_register` (see
- |luaref-luaL_register|). `name` is the function name and `func` is a
+ |luaL_register()|). `name` is the function name and `func` is a
pointer to the function. Any array of `luaL_Reg` must end with a
sentinel entry in which both `name` and `func` are `NULL`.
@@ -3515,7 +3452,7 @@ luaL_register *luaL_register()*
Opens a library.
When called with `libname` equal to `NULL`, it simply registers all
- functions in the list `l` (see |luaref-luaL_Reg|) into the table on
+ functions in the list `l` (see |luaL_Reg()|) into the table on
the top of the stack.
When called with a non-null `libname`, `luaL_register` creates a new
@@ -3543,7 +3480,7 @@ luaL_typerror *luaL_typerror()*
`expected, got` `rt` `)`
where `location` is produced by `luaL_where` (see
- |luaref-luaL_where|), `func` is the name of the current function, and
+ |luaL_where()|), `func` is the name of the current function, and
`rt` is the type name of the actual argument.
luaL_unref *luaL_unref()*
@@ -3551,7 +3488,7 @@ luaL_unref *luaL_unref()*
void luaL_unref (lua_State *L, int t, int ref);
<
Releases reference `ref` from the table at index `t` (see
- |luaref-luaL_ref|). The entry is removed from the table, so that the
+ |luaL_ref()|). The entry is removed from the table, so that the
referred object can be collected. The reference `ref` is also freed to
be used again.
@@ -3601,14 +3538,14 @@ functions as fields of a global table or as methods of its objects.
*luaref-openlibs*
To have access to these libraries, the C host program should call the
`luaL_openlibs` function, which opens all standard libraries (see
-|luaref-luaL_openlibs|). Alternatively, the host program can open the libraries
+|luaL_openlibs()|). Alternatively, the host program can open the libraries
individually by calling `luaopen_base` (for the basic library),
`luaopen_package` (for the package library), `luaopen_string` (for the string
library), `luaopen_table` (for the table library), `luaopen_math` (for the
mathematical library), `luaopen_io` (for the I/O and the Operating System
libraries), and `luaopen_debug` (for the debug library). These functions are
declared in `lualib.h` and should not be called directly: you must call them
-like any other Lua C function, e.g., by using `lua_call` (see |luaref-lua_call|).
+like any other Lua C function, e.g., by using `lua_call` (see |lua_call()|).
==============================================================================
5.1 Basic Functions *luaref-libBasic*
@@ -3700,11 +3637,11 @@ load({func} [, {chunkname}]) *luaref-load()*
information.
loadfile([{filename}]) *luaref-loadfile()*
- Similar to `load` (see |luaref-load|), but gets the chunk from file
+ Similar to `load` (see |luaref-load()|), but gets the chunk from file
{filename} or from the standard input, if no file name is given.
loadstring({string} [, {chunkname}]) *luaref-loadstring()*
- Similar to `load` (see |luaref-load|), but gets the chunk from the
+ Similar to `load` (see |luaref-load()|), but gets the chunk from the
given {string}.
To load and run a given string, use the idiom
@@ -3724,14 +3661,14 @@ next({table} [, {index}]) *luaref-next()*
The order in which the indices are enumerated is not specified, `even
for` `numeric indices`. (To traverse a table in numeric order, use a
- numerical `for` or the `ipairs` |luaref-ipairs| function.)
+ numerical `for` or the `ipairs` |luaref-ipairs()| function.)
The behavior of `next` is `undefined` if, during the traversal, you
assign any value to a non-existent field in the table. You may however
modify existing fields. In particular, you may clear existing fields.
pairs({t}) *luaref-pairs()*
- Returns three values: the `next` |luaref-next| function, the table
+ Returns three values: the `next` |luaref-next()| function, the table
{t}, and `nil`, so that the construction
`for k,v in pairs(t) do` `body` `end`
@@ -3749,10 +3686,10 @@ pcall({f}, {arg1}, {...}) *luaref-pcall()*
print({...}) *luaref-print()*
Receives any number of arguments, and prints their values to `stdout`,
- using the `tostring` |luaref-tostring| function to convert them to
+ using the `tostring` |luaref-tostring()| function to convert them to
strings. `print` is not intended for formatted output, but only as a
quick way to show a value, typically for debugging. For formatted
- output, use `string.format` (see |luaref-string.format|).
+ output, use `string.format` (see |string.format()|).
rawequal({v1}, {v2}) *luaref-rawequal()*
Checks whether {v1} is equal to {v2}, without invoking any metamethod.
@@ -3807,7 +3744,7 @@ tonumber({e} [, {base}]) *luaref-tonumber()*
tostring({e}) *luaref-tostring()*
Receives an argument of any type and converts it to a string in a
reasonable format. For complete control of how numbers are converted,
- use `string.format` (see |luaref-string.format|).
+ use `string.format` (see |string.format()|).
*__tostring*
If the metatable of {e} has a `"__tostring"` field, `tostring` calls
@@ -3836,7 +3773,7 @@ _VERSION *luaref-_VERSION()*
`"Lua 5.1"` .
xpcall({f}, {err}) *luaref-xpcall()*
- This function is similar to `pcall` (see |luaref-pcall|), except that
+ This function is similar to `pcall` (see |luaref-pcall()|), except that
you can set a new error handler.
`xpcall` calls function {f} in protected mode, using {err} as the
@@ -3901,7 +3838,7 @@ coroutine.yield({...}) *coroutine.yield()*
The package library provides basic facilities for loading and building modules
in Lua. It exports two of its functions directly in the global environment:
-`require` and `module` (see |luaref-require| and |luaref-module|). Everything else is
+`require` and `module` (see |luaref-require()| and |luaref-module()|). Everything else is
exported in a table `package`.
module({name} [, {...}]) *luaref-module()*
@@ -3914,7 +3851,7 @@ module({name} [, {...}]) *luaref-module()*
`t._PACKAGE` with the package name (the full module name minus last
component; see below). Finally, `module` sets `t` as the new
environment of the current function and the new value of
- `package.loaded[name]`, so that `require` (see |luaref-require|)
+ `package.loaded[name]`, so that `require` (see |luaref-require()|)
returns `t`.
If {name} is a compound name (that is, one with components separated
@@ -3968,7 +3905,7 @@ require({modname}) *luaref-require()*
If there is any error loading or running the module, or if it cannot
find any loader for the module, then `require` signals an error.
-package.cpath *package.cpath()*
+package.cpath *package.cpath*
The path used by `require` to search for a C loader.
Lua initializes the C path `package.cpath` in the same way it
@@ -3985,7 +3922,7 @@ package.loadlib({libname}, {funcname}) *package.loadlib()*
Dynamically links the host program with the C library {libname}.
Inside this library, looks for a function {funcname} and returns this
function as a C function. (So, {funcname} must follow the protocol
- (see |luaref-lua_CFunction|)).
+ (see |lua_CFunction()|)).
This is a low-level function. It completely bypasses the package and
module system. Unlike `require`, it does not perform any path
@@ -3998,7 +3935,7 @@ package.loadlib({libname}, {funcname}) *package.loadlib()*
available on some platforms (Windows, Linux, Mac OS X, Solaris, BSD,
plus other Unix systems that support the `dlfcn` standard).
-package.path *package.path()*
+package.path *package.path*
The path used by `require` to search for a Lua loader.
At start-up, Lua initializes this variable with the value of the
@@ -4019,7 +3956,7 @@ package.path *package.path()*
order.
package.preload *package.preload()*
- A table to store loaders for specific modules (see |luaref-require|).
+ A table to store loaders for specific modules (see |luaref-require()|).
package.seeall({module}) *package.seeall()*
Sets a metatable for {module} with its `__index` field referring to
@@ -4059,7 +3996,7 @@ string.char({...}) *string.char()*
string.dump({function}) *string.dump()*
Returns a string containing a binary representation of the given
- function, so that a later |luaref-loadstring| on this string returns a
+ function, so that a later |luaref-loadstring()| on this string returns a
copy of the function. {function} must be a Lua function without
upvalues.
@@ -4341,7 +4278,7 @@ table.foreach({table}, {f}) *table.foreach()*
returns a non-`nil` value, then the loop is broken, and this value is
returned as the final value of `table.foreach`.
- See |luaref-next| for extra information about table traversals.
+ See |luaref-next()| for extra information about table traversals.
table.foreachi({table}, {f}) *table.foreachi()*
Executes the given {f} over the numerical indices of {table}. For each
@@ -4658,7 +4595,7 @@ file:setvbuf({mode} [, {size}]) *luaref-file:setvbuf()*
immediately.
`"full"` full buffering; output operation is performed only when
the buffer is full (or when you explicitly `flush` the file
- (see |luaref-io.flush|).
+ (see |io.flush()|).
`"line"` line buffering; output is buffered until a newline is
output or there is any input from some special files (such as
a terminal device).
@@ -4669,7 +4606,7 @@ file:setvbuf({mode} [, {size}]) *luaref-file:setvbuf()*
file:write({...}) *luaref-file:write()*
Writes the value of each of its arguments to `file`. The arguments
must be strings or numbers. To write other values, use `tostring`
- |luaref-tostring| or `string.format` |luaref-string.format| before
+ |luaref-tostring()| or `string.format` |string.format()| before
`write`.
==============================================================================
@@ -4686,7 +4623,7 @@ os.date([{format} [, {time}]]) *os.date()*
according to the given string {format}.
If the {time} argument is present, this is the time to be formatted
- (see the `os.time` function |luaref-os.time| for a description of this
+ (see the `os.time` function |os.time()| for a description of this
value). Otherwise, `date` formats the current time.
If {format} starts with `!`, then the date is formatted in
@@ -4744,7 +4681,7 @@ os.time([{table}]) *os.time()*
representing the date and time specified by the given table. This
table must have fields `year`, `month`, and `day`, and may have fields
`hour`, `min`, `sec`, and `isdst` (for a description of these fields,
- see the `os.date` function |luaref-os.date|).
+ see the `os.date` function |os.date()|).
The returned value is a number, whose meaning depends on your system.
In POSIX, Windows, and some other systems, this number counts the
@@ -4802,7 +4739,7 @@ debug.getinfo([{thread},] {function} [, {what}]) *debug.getinfo()*
functions, then `getinfo` returns `nil`.
The returned table may contain all the fields returned by
- `lua_getinfo` (see |luaref-lua_getinfo|), with the string {what}
+ `lua_getinfo` (see |lua_getinfo()|), with the string {what}
describing which fields to fill in. The default for {what} is to get
all information available, except the table of valid lines. If
present, the option `f` adds a field named `func` with the function
@@ -4821,7 +4758,7 @@ debug.getlocal([{thread},] {level}, {local}) *debug.getlocal()*
last active local variable.) The function returns `nil` if there is no
local variable with the given index, and raises an error when called
with a {level} out of range. (You can call `debug.getinfo`
- |luaref-debug.getinfo| to check whether the level is valid.)
+ |debug.getinfo()| to check whether the level is valid.)
Variable names starting with `(` (open parentheses) represent
internal variables (loop control variables, temporaries, and C
@@ -4953,7 +4890,7 @@ C LUAREF DOC *luarefvim* *luarefvimdoc* *luaref-help* *luaref-d
This is a Vim help file containing a reference for Lua 5.1, and it is -- with
a few exceptions and adaptations -- a copy of the Lua 5.1 Reference Manual
(see |luaref-bibliography|). For usage information, refer to
-|luaref-docUsage|. For copyright information, see |luaref-copyright|.
+|luaref-doc|. For copyright information, see |luaref-copyright|.
The main ideas and concepts on how to implement this reference were taken from
Christian Habermann's CRefVim project
diff --git a/runtime/doc/luvref.txt b/runtime/doc/luvref.txt
index ee45444b42..6b77ee89a8 100644
--- a/runtime/doc/luvref.txt
+++ b/runtime/doc/luvref.txt
@@ -3355,7 +3355,7 @@ uv.getnameinfo({address} [, {callback}]) *uv.getnameinfo()*
- `family`: `string` or `integer` or `nil`
- `callback`: `callable` (async version) or `nil` (sync
version)
- - `err`: `nil` or `sring`
+ - `err`: `nil` or `string`
- `host`: `string` or `nil`
- `service`: `string` or `nil`
diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt
index da6a305e89..cbc92a8cb5 100644
--- a/runtime/doc/map.txt
+++ b/runtime/doc/map.txt
@@ -1660,7 +1660,8 @@ The valid escape sequences are
If the first two characters of an escape sequence are "q-" (for example,
<q-args>) then the value is quoted in such a way as to make it a valid value
for use in an expression. This uses the argument as one single value.
-When there is no argument <q-args> is an empty string.
+When there is no argument <q-args> is an empty string. See the
+|q-args-example| below.
*<f-args>*
To allow commands to pass their arguments on to a user-defined function, there
is a special form <f-args> ("function args"). This splits the command
@@ -1670,10 +1671,10 @@ See the Mycmd example below. If no arguments are given <f-args> is removed.
To embed whitespace into an argument of <f-args>, prepend a backslash.
<f-args> replaces every pair of backslashes (\\) with one backslash. A
backslash followed by a character other than white space or a backslash
-remains unmodified. Overview:
+remains unmodified. Also see |f-args-example| below. Overview:
command <f-args> ~
- XX ab 'ab'
+ XX ab "ab"
XX a\b 'a\b'
XX a\ b 'a b'
XX a\ b 'a ', 'b'
@@ -1684,7 +1685,8 @@ remains unmodified. Overview:
XX a\\\\b 'a\\b'
XX a\\\\ b 'a\\', 'b'
-Examples >
+
+Examples for user commands: >
" Delete everything after here to the end
:com Ddel +,$d
@@ -1700,7 +1702,8 @@ Examples >
" Count the number of lines in the range
:com! -range -nargs=0 Lines echo <line2> - <line1> + 1 "lines"
- " Call a user function (example of <f-args>)
+< *f-args-example*
+Call a user function (example of <f-args>) >
:com -nargs=* Mycmd call Myfunc(<f-args>)
When executed as: >
@@ -1708,7 +1711,8 @@ When executed as: >
This will invoke: >
:call Myfunc("arg1","arg2")
- :" A more substantial example
+< *q-args-example*
+A more substantial example: >
:function Allargs(command)
: let i = 0
: while i < argc()
diff --git a/runtime/doc/mbyte.txt b/runtime/doc/mbyte.txt
index 2aa49cee1e..7a76c57fc2 100644
--- a/runtime/doc/mbyte.txt
+++ b/runtime/doc/mbyte.txt
@@ -86,9 +86,8 @@ You can also set 'guifont' alone, the Nvim GUI will try to find a matching
INPUT
There are several ways to enter multibyte characters:
-- For X11 XIM can be used. See |XIM|.
-- For MS-Windows IME can be used. See |IME|.
-- For all systems keymaps can be used. See |mbyte-keymap|.
+- Your system IME can be used.
+- Keymaps can be used. See |mbyte-keymap|.
The options 'iminsert', 'imsearch' and 'imcmdline' can be used to choose
the different input methods or disable them temporarily.
diff --git a/runtime/doc/motion.txt b/runtime/doc/motion.txt
index 511b1bd7b2..8ff4ed4f96 100644
--- a/runtime/doc/motion.txt
+++ b/runtime/doc/motion.txt
@@ -831,12 +831,12 @@ deletes the lines from the cursor position to mark 't'. Hint: Use mark 't' for
Top, 'b' for Bottom, etc.. Lowercase marks are restored when using undo and
redo.
-Uppercase marks 'A to 'Z include the file name.
-You can use them to jump from file to file. You can only use an uppercase
-mark with an operator if the mark is in the current file. The line number of
-the mark remains correct, even if you insert/delete lines or edit another file
-for a moment. When the 'shada' option is not empty, uppercase marks are
-kept in the .shada file. See |shada-file-marks|.
+Uppercase marks 'A to 'Z include the file name. You can use them to jump from
+file to file. You can only use an uppercase mark with an operator if the mark
+is in the current file. The line number of the mark remains correct, even if
+you insert/delete lines or edit another file for a moment. When the 'shada'
+option is not empty, uppercase marks are kept in the .shada file. See
+|shada-file-marks|.
Numbered marks '0 to '9 are quite different. They can not be set directly.
They are only present when using a shada file |shada-file|. Basically '0
@@ -1172,7 +1172,7 @@ g; Go to [count] older position in change list.
(not a motion command)
*g,* *E663*
-g, Go to [count] newer cursor position in change list.
+g, Go to [count] newer position in change list.
Just like |g;| but in the opposite direction.
(not a motion command)
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 14b7eb2d71..836272a60f 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1338,9 +1338,13 @@ A jump table for the options with a short description can be found at |Q_op|.
When 'cmdheight' is zero, there is no command-line unless it is being
used. The command-line will cover the last line of the screen when
- shown. Some informative messages will not be displayed, any other
- messages will cause the |hit-enter| prompt. Expect some other
- unexpected behavior too.
+ shown.
+
+ WARNING: `cmdheight=0` is considered experimental. Expect some
+ unwanted behaviour. Some 'shortmess' flags and similar
+ mechanism might fail to take effect, causing unwanted hit-enter
+ prompts. Some informative messages, both from Nvim itself and
+ plugins, will not be displayed.
*'cmdwinheight'* *'cwh'*
'cmdwinheight' 'cwh' number (default 7)
@@ -5704,7 +5708,7 @@ A jump table for the options with a short description can be found at |Q_op|.
"yes:[1-9]" always, with fixed space for signs up to the given
number (maximum 9), e.g. "yes:3"
"number" display signs in the 'number' column. If the number
- column is not present, then behaves like 'auto'.
+ column is not present, then behaves like "auto".
Note regarding 'orphaned signs': with signcolumn numbers higher than
1, deleting lines will also remove the associated signs automatically,
@@ -6481,7 +6485,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'termguicolors' 'tgc' boolean (default off)
global
Enables 24-bit RGB color in the |TUI|. Uses "gui" |:highlight|
- attributes instead of "cterm" attributes. |highlight-guifg|
+ attributes instead of "cterm" attributes. |guifg|
Requires an ISO-8613-3 compatible terminal.
*'termpastefilter'* *'tpf'*
@@ -6748,11 +6752,11 @@ A jump table for the options with a short description can be found at |Q_op|.
final value applying to all subsequent tabs.
For example, when editing assembly language files where statements
- start in the 8th column and comments in the 40th, it may be useful
+ start in the 9th column and comments in the 41st, it may be useful
to use the following: >
:set varsofttabstop=8,32,8
-< This will set soft tabstops at the 8th and 40th columns, and at every
- 8th column thereafter.
+< This will set soft tabstops with 8 and 8 + 32 spaces, and 8 more
+ for every column thereafter.
Note that the value of |'softtabstop'| will be ignored while
'varsofttabstop' is set.
@@ -7136,7 +7140,7 @@ A jump table for the options with a short description can be found at |Q_op|.
the window.
Note: highlight namespaces take precedence over 'winhighlight'.
- See |nvim_win_set_hl_ns| and |nvim_set_hl|.
+ See |nvim_win_set_hl_ns()| and |nvim_set_hl()|.
Highlights of vertical separators are determined by the window to the
left of the separator. The 'tabline' highlight of a tabpage is
diff --git a/runtime/doc/pi_health.txt b/runtime/doc/pi_health.txt
index cc36e7186c..8a6437fdc8 100644
--- a/runtime/doc/pi_health.txt
+++ b/runtime/doc/pi_health.txt
@@ -75,7 +75,7 @@ vim.health.report_error({msg} [, {advice}]) *vim.health.report_error
Create a healthcheck *health-dev*
Healthchecks are functions that check the user environment, configuration, or
-any other prerequisities that a plugin cares about. Nvim ships with
+any other prerequisites that a plugin cares about. Nvim ships with
healthchecks in:
- $VIMRUNTIME/autoload/health/
- $VIMRUNTIME/lua/vim/lsp/health.lua
diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt
index 1eaa76264f..63d4496dc4 100644
--- a/runtime/doc/pi_netrw.txt
+++ b/runtime/doc/pi_netrw.txt
@@ -2353,7 +2353,7 @@ MARKED FILES: DIFF *netrw-md* {{{2
(See |netrw-mf| and |netrw-mr| for how to mark files)
(uses the global marked file list)
-Use |vimdiff| to visualize difference between selected files (two or
+Use vimdiff to visualize difference between selected files (two or
three may be selected for this). Uses the global marked file list.
MARKED FILES: EDITING *netrw-me* {{{2
@@ -3469,7 +3469,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
*netrw-p4*
P4. I would like long listings to be the default. {{{2
- Put the following statement into your |.vimrc|: >
+ Put the following statement into your |vimrc|: >
let g:netrw_liststyle= 1
<
@@ -3482,7 +3482,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
Does your system's strftime() accept the "%c" to yield dates
such as "Sun Apr 27 11:49:23 1997"? If not, do a
"man strftime" and find out what option should be used. Then
- put it into your |.vimrc|: >
+ put it into your |vimrc|: >
let g:netrw_timefmt= "%X" (where X is the option)
<
@@ -3490,7 +3490,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
P6. I want my current directory to track my browsing. {{{2
How do I do that?
- Put the following line in your |.vimrc|:
+ Put the following line in your |vimrc|:
>
let g:netrw_keepdir= 0
<
@@ -3569,7 +3569,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
http://www.chiark.greenend.org.uk/~sgtatham/putty/0.60/htmldoc/Chapter8.html#pubkey-gettingready
(8.3 Getting ready for public key authentication)
<
- How to use a private key with 'pscp': >
+ How to use a private key with "pscp": >
http://www.chiark.greenend.org.uk/~sgtatham/putty/0.60/htmldoc/Chapter5.html
(5.2.4 Using public key authentication with PSCP)
@@ -3839,7 +3839,7 @@ netrw:
or
http://vim.sourceforge.net/scripts/script.php?script_id=120
- Decho.vim is provided as a "vimball"; see |vimball-intro|. You
+ Decho.vim is provided as a "vimball". You
should edit the Decho.vba.gz file and source it in: >
vim Decho.vba.gz
@@ -3917,7 +3917,7 @@ netrw:
* Installed |g:netrw_clipboard| setting
* Installed option bypass for |'guioptions'|
a/A settings
- * Changed popup_beval() to |popup_atcursor()|
+ * Changed popup_beval() to popup_atcursor()
in netrw#ErrorMsg (lacygoill). Apparently
popup_beval doesn't reliably close the
popup when the mouse is moved.
@@ -3943,7 +3943,7 @@ netrw:
did not restore options correctly that
had a single quote in the option string.
Apr 13, 2020 * implemented error handling via popup
- windows (see |popup_beval()|)
+ windows (see popup_beval())
Apr 30, 2020 * (reported by Manatsu Takahashi) while
using Lexplore, a modified file could
be overwritten. Sol'n: will not overwrite,
diff --git a/runtime/doc/print.txt b/runtime/doc/print.txt
index 924fab175e..0e02c7d42d 100644
--- a/runtime/doc/print.txt
+++ b/runtime/doc/print.txt
@@ -659,7 +659,7 @@ It is possible to achieve a poor man's version of duplex printing using the PS
utility psselect. This utility has options -e and -o for printing just the
even or odd pages of a PS file respectively.
-First generate a PS file with the 'hardcopy' command, then generate new
+First generate a PS file with the ":hardcopy" command, then generate new
files with all the odd and even numbered pages with: >
psselect -o test.ps odd.ps
diff --git a/runtime/doc/provider.txt b/runtime/doc/provider.txt
index 9fd35f19c5..782bd19441 100644
--- a/runtime/doc/provider.txt
+++ b/runtime/doc/provider.txt
@@ -240,7 +240,7 @@ a list of lines and `regtype` is a register type conforming to |setreg()|.
Paste *provider-paste* *paste*
"Paste" is a separate concept from |clipboard|: paste means "dump a bunch of
-text to the editor", whereas clipboard provides features like |quote-+| to get
+text to the editor", whereas clipboard provides features like |quote+| to get
and set the OS clipboard directly. For example, middle-click or CTRL-SHIFT-v
(macOS: CMD-v) in your terminal is "paste", not "clipboard": the terminal
application (Nvim) just gets a stream of text, it does not interact with the
diff --git a/runtime/doc/quickfix.txt b/runtime/doc/quickfix.txt
index dab3bfa280..924a6d4743 100644
--- a/runtime/doc/quickfix.txt
+++ b/runtime/doc/quickfix.txt
@@ -466,7 +466,7 @@ You can parse a list of lines using 'errorformat' without creating or
modifying a quickfix list using the |getqflist()| function. Examples: >
echo getqflist({'lines' : ["F1:10:Line10", "F2:20:Line20"]})
echo getqflist({'lines' : systemlist('grep -Hn quickfix *')})
-This returns a dictionary where the 'items' key contains the list of quickfix
+This returns a dictionary where the "items" key contains the list of quickfix
entries parsed from lines. The following shows how to use a custom
'errorformat' to parse the lines without modifying the 'errorformat' option: >
echo getqflist({'efm' : '%f#%l#%m', 'lines' : ['F1#10#Line']})
@@ -585,7 +585,7 @@ can go back to the unfiltered list using the |:colder|/|:lolder| command.
quickfix command or function, the |b:changedtick|
variable is incremented. You can get the number of
this buffer using the getqflist() and getloclist()
- functions by passing the 'qfbufnr' item. For a
+ functions by passing the "qfbufnr" item. For a
location list, this buffer is wiped out when the
location list is removed.
@@ -916,7 +916,7 @@ To get the number of the current list in the stack: >
screen).
5. The errorfile is read using 'errorformat'.
6. All relevant |QuickFixCmdPost| autocommands are
- executed. See example below.
+ executed. See example below.
7. If [!] is not given the first error is jumped to.
8. The errorfile is deleted.
9. You can now move through the errors with commands
@@ -1939,7 +1939,7 @@ list window is:
The values displayed in each line correspond to the "bufnr", "lnum", "col" and
"text" fields returned by the |getqflist()| function.
-For some quickfix/location lists, the displayed text need to be customized.
+For some quickfix/location lists, the displayed text needs to be customized.
For example, if only the filename is present for a quickfix entry, then the
two "|" field separator characters after the filename are not needed. Another
use case is to customize the path displayed for a filename. By default, the
@@ -1965,7 +1965,7 @@ The function should return a single line of text to display in the quickfix
window for each entry from start_idx to end_idx. The function can obtain
information about the entries using the |getqflist()| function and specifying
the quickfix list identifier "id". For a location list, getloclist() function
-can be used with the 'winid' argument. If an empty list is returned, then the
+can be used with the "winid" argument. If an empty list is returned, then the
default format is used to display all the entries. If an item in the returned
list is an empty string, then the default format is used to display the
corresponding entry.
diff --git a/runtime/doc/quickref.txt b/runtime/doc/quickref.txt
index 9f3993506a..bdb0f7447c 100644
--- a/runtime/doc/quickref.txt
+++ b/runtime/doc/quickref.txt
@@ -3,7 +3,8 @@
VIM REFERENCE MANUAL by Bram Moolenaar
- Quick reference guide
+==============================================================================
+Quick reference guide
*quickref* *Contents*
tag subject tag subject ~
@@ -30,10 +31,10 @@
|Q_fo| Folding
------------------------------------------------------------------------------
-N is used to indicate an optional count that can be given before the command.
-------------------------------------------------------------------------------
*Q_lr* Left-right motions
+N is used to indicate an optional count that can be given before the command.
+
|h| N h left (also: CTRL-H, <BS>, or <Left> key)
|l| N l right (also: <Space> or <Right> key)
|0| 0 to first character in the line (also: <Home> key)
@@ -56,6 +57,7 @@ N is used to indicate an optional count that can be given before the command.
|;| N ; repeat the last "f", "F", "t", or "T" N times
|,| N , repeat the last "f", "F", "t", or "T" N times in
opposite direction
+
------------------------------------------------------------------------------
*Q_ud* Up-down motions
@@ -73,6 +75,7 @@ N is used to indicate an optional count that can be given before the command.
given, otherwise it is the |%| command
|gk| N gk up N screen lines (differs from "k" when line wraps)
|gj| N gj down N screen lines (differs from "j" when line wraps)
+
------------------------------------------------------------------------------
*Q_tm* Text object motions
@@ -105,6 +108,7 @@ N is used to indicate an optional count that can be given before the command.
|]#| N ]# N times forward to unclosed "#else" or "#endif"
|[star| N [* N times back to start of comment "/*"
|]star| N ]* N times forward to end of comment "*/"
+
------------------------------------------------------------------------------
*Q_pa* Pattern searches
@@ -168,6 +172,7 @@ N is used to indicate an optional count that can be given before the command.
b[+num] [num] identical to s[+num] above (mnemonic: begin)
b[-num] [num] identical to s[-num] above (mnemonic: begin)
;{search-command} execute {search-command} next
+
------------------------------------------------------------------------------
*Q_ma* Marks and motions
@@ -188,6 +193,7 @@ N is used to indicate an optional count that can be given before the command.
|CTRL-O| N CTRL-O go to Nth older position in jump list
|CTRL-I| N CTRL-I go to Nth newer position in jump list
|:ju| :ju[mps] print the jump list
+
------------------------------------------------------------------------------
*Q_vm* Various motions
@@ -202,6 +208,7 @@ N is used to indicate an optional count that can be given before the command.
|go| N go go to Nth byte in the buffer
|:go| :[range]go[to] [off] go to [off] byte in the buffer
+
------------------------------------------------------------------------------
*Q_ta* Using tags
@@ -229,6 +236,7 @@ N is used to indicate an optional count that can be given before the command.
|:ptjump| :ptj[ump] like ":tjump" but show tag in preview window
|:pclose| :pc[lose] close tag preview window
|CTRL-W_z| CTRL-W z close tag preview window
+
------------------------------------------------------------------------------
*Q_sc* Scrolling
@@ -247,6 +255,7 @@ These only work when 'wrap' is off:
|zl| N zl scroll screen N characters to the left
|zH| N zH scroll screen half a screenwidth to the right
|zL| N zL scroll screen half a screenwidth to the left
+
------------------------------------------------------------------------------
*Q_in* Inserting text
@@ -263,6 +272,7 @@ These only work when 'wrap' is off:
in Visual block mode:
|v_b_I| I insert the same text in front of all the selected lines
|v_b_A| A append the same text after all the selected lines
+
------------------------------------------------------------------------------
*Q_ai* Insert mode keys
@@ -279,6 +289,7 @@ moving around:
|i_<S-Up>| shift-up/down one screenful backward/forward
|i_<End>| <End> cursor after last character in the line
|i_<Home>| <Home> cursor to first character in the line
+
------------------------------------------------------------------------------
*Q_ss* Special keys in Insert mode
@@ -313,6 +324,7 @@ moving around:
|i_0_CTRL-D| 0 CTRL-D delete all indent in the current line
|i_^_CTRL-D| ^ CTRL-D delete all indent in the current line,
restore indent in next line
+
------------------------------------------------------------------------------
*Q_di* Digraphs
@@ -325,12 +337,14 @@ In Insert or Command-line mode:
enter digraph
|i_digraph| {char1} <BS> {char2}
enter digraph if 'digraph' option set
+
------------------------------------------------------------------------------
*Q_si* Special inserts
|:r| :r [file] insert the contents of [file] below the cursor
|:r!| :r! {command} insert the standard output of {command} below the
cursor
+
------------------------------------------------------------------------------
*Q_de* Deleting text
@@ -346,6 +360,7 @@ In Insert or Command-line mode:
|gJ| N gJ like "J", but without inserting spaces
|v_gJ| {visual}gJ like "{visual}J", but without inserting spaces
|:d| :[range]d [x] delete [range] lines [into register x]
+
------------------------------------------------------------------------------
*Q_cm* Copying and moving text
@@ -363,6 +378,7 @@ In Insert or Command-line mode:
|[p| N [p like P, but adjust indent to current line
|gp| N gp like p, but leave cursor after the new text
|gP| N gP like P, but leave cursor after the new text
+
------------------------------------------------------------------------------
*Q_ch* Changing text
@@ -418,6 +434,7 @@ In Insert or Command-line mode:
left-align the lines in [range] (with [indent])
|:ri| :[range]ri[ght] [width]
right-align the lines in [range]
+
------------------------------------------------------------------------------
*Q_co* Complex changes
@@ -444,6 +461,7 @@ In Insert or Command-line mode:
|:ret| :[range]ret[ab][!] [tabstop]
set 'tabstop' to new value and adjust white space
accordingly
+
------------------------------------------------------------------------------
*Q_vi* Visual mode
@@ -457,6 +475,7 @@ In Insert or Command-line mode:
|v_v| v highlight characters or stop highlighting
|v_V| V highlight linewise or stop highlighting
|v_CTRL-V| CTRL-V highlight blockwise or stop highlighting
+
------------------------------------------------------------------------------
*Q_to* Text objects (only in Visual mode or after an operator)
@@ -509,6 +528,7 @@ In Insert or Command-line mode:
|:sl| :sl[eep] [sec]
don't do anything for [sec] seconds
|gs| N gs goto Sleep for N seconds
+
------------------------------------------------------------------------------
*Q_km* Key mapping
@@ -556,6 +576,7 @@ In Insert or Command-line mode:
like ":mkvimrc", but store current files,
windows, etc. too, to be able to continue
this session later
+
------------------------------------------------------------------------------
*Q_ab* Abbreviations
@@ -570,6 +591,7 @@ In Insert or Command-line mode:
|:abclear| :abc[lear] remove all abbreviations
|:cabclear| :cabc[lear] remove all abbr's for Cmdline mode
|:iabclear| :iabc[lear] remove all abbr's for Insert mode
+
------------------------------------------------------------------------------
*Q_op* Options
@@ -615,10 +637,6 @@ Short explanation of each option: *option-list*
'backupdir' 'bdir' list of directories for the backup file
'backupext' 'bex' extension used for the backup file
'backupskip' 'bsk' no backup for files that match these patterns
-'balloondelay' 'bdlay' delay in mS before a balloon may pop up
-'ballooneval' 'beval' switch on balloon evaluation in the GUI
-'balloonevalterm' 'bevalterm' switch on balloon evaluation in the terminal
-'balloonexpr' 'bexpr' expression to show in balloon
'belloff' 'bo' do not ring the bell for these reasons
'binary' 'bin' read/write/edit file in binary mode
'bomb' prepend a Byte Order Mark to the file
@@ -802,7 +820,6 @@ Short explanation of each option: *option-list*
'patchexpr' 'pex' expression used to patch a file
'patchmode' 'pm' keep the oldest version of a file
'path' 'pa' list of directories searched with "gf" et.al.
-'perldll' name of the Perl dynamic library
'preserveindent' 'pi' preserve the indent structure when reindenting
'previewheight' 'pvh' height of the preview window
'previewpopup' 'pvp' use popup window for preview
@@ -817,8 +834,6 @@ Short explanation of each option: *option-list*
'printoptions' 'popt' controls the format of :hardcopy output
'pumheight' 'ph' maximum height of the popup menu
'pumwidth' 'pw' minimum width of the popup menu
-'pythondll' name of the Python 2 dynamic library
-'pythonthreedll' name of the Python 3 dynamic library
'pyxversion' 'pyx' Python version used for pyx* commands
'quoteescape' 'qe' escape characters used in a string
'readonly' 'ro' disallow writing the buffer
@@ -829,7 +844,6 @@ Short explanation of each option: *option-list*
'revins' 'ri' inserting characters will work backwards
'rightleft' 'rl' window is right-to-left oriented
'rightleftcmd' 'rlc' commands for which editing works right-to-left
-'rubydll' name of the Ruby dynamic library
'ruler' 'ru' show cursor line and column in the status line
'rulerformat' 'ruf' custom format for the ruler
'runtimepath' 'rtp' list of directories used for runtime files
@@ -948,18 +962,21 @@ Short explanation of each option: *option-list*
'writeany' 'wa' write to file with no need for "!" override
'writebackup' 'wb' make a backup before overwriting a file
'writedelay' 'wd' delay this many msec for each char (for debug)
+
------------------------------------------------------------------------------
*Q_ur* Undo/Redo commands
|u| N u undo last N changes
|CTRL-R| N CTRL-R redo last N undone changes
|U| U restore last changed line
+
------------------------------------------------------------------------------
*Q_et* External commands
|:!| :!{command} execute {command} with a shell
|K| K lookup keyword under the cursor with
'keywordprg' program (default: "man")
+
------------------------------------------------------------------------------
*Q_qf* Quickfix commands
@@ -983,6 +1000,7 @@ Short explanation of each option: *option-list*
error
|:grep| :gr[ep] [args] execute 'grepprg' to find matches and jump to
the first one
+
------------------------------------------------------------------------------
*Q_vc* Various commands
@@ -1008,6 +1026,7 @@ Short explanation of each option: *option-list*
unsaved changes or read-only files
|:browse| :browse {command} open/read/write file, using a
file selection dialog
+
------------------------------------------------------------------------------
*Q_ce* Command-line editing
@@ -1054,6 +1073,7 @@ Context-sensitive completion on the command-line:
to next match
|c_CTRL-P| CTRL-P after 'wildchar' with multiple matches: go
to previous match
+
------------------------------------------------------------------------------
*Q_ra* Ex ranges
@@ -1074,6 +1094,7 @@ Context-sensitive completion on the command-line:
(default: 1)
|:range| -[num] subtract [num] from the preceding line
number (default: 1)
+
------------------------------------------------------------------------------
*Q_ex* Special Ex characters
@@ -1106,6 +1127,7 @@ Context-sensitive completion on the command-line:
|::r| :r root (extension removed)
|::e| :e extension
|::s| :s/{pat}/{repl}/ substitute {pat} with {repl}
+
------------------------------------------------------------------------------
*Q_st* Starting Vim
@@ -1142,6 +1164,7 @@ Context-sensitive completion on the command-line:
|--help| --help show list of arguments and exit
|--version| --version show version info and exit
|--| - read file from stdin
+
------------------------------------------------------------------------------
*Q_ed* Editing a file
@@ -1161,6 +1184,7 @@ Context-sensitive completion on the command-line:
position
|:file| :f[ile] {name} set the current file name to {name}
|:files| :files show alternate file names
+
------------------------------------------------------------------------------
*Q_fl* Using the argument list |argument-list|
@@ -1181,6 +1205,7 @@ Context-sensitive completion on the command-line:
|:Next| :N[ext] :sN[ext] edit previous file
|:first| :fir[st] :sfir[st] edit first file
|:last| :la[st] :sla[st] edit last file
+
------------------------------------------------------------------------------
*Q_wq* Writing and quitting
@@ -1218,6 +1243,7 @@ Context-sensitive completion on the command-line:
|:stop| :st[op][!] suspend Vim or start new shell; if 'aw' option
is set and [!] not given write the buffer
|CTRL-Z| CTRL-Z same as ":stop"
+
------------------------------------------------------------------------------
*Q_ac* Automatic Commands
@@ -1249,6 +1275,7 @@ Context-sensitive completion on the command-line:
with {pat}
|:autocmd| :au! {event} {pat} {cmd} remove all autocommands for {event}
with {pat} and enter new one
+
------------------------------------------------------------------------------
*Q_wi* Multi-window commands
@@ -1294,6 +1321,7 @@ Context-sensitive completion on the command-line:
|CTRL-W_>| CTRL-W > increase current window width
|CTRL-W_bar| CTRL-W | set current window width (default:
widest possible)
+
------------------------------------------------------------------------------
*Q_bu* Buffer list commands
@@ -1315,6 +1343,7 @@ Context-sensitive completion on the command-line:
|:bfirst| :bfirst :sbfirst to first arg/buf
|:blast| :blast :sblast to last arg/buf
|:bmodified| :[N]bmod [N] :[N]sbmod [N] to Nth modified buf
+
------------------------------------------------------------------------------
*Q_sy* Syntax Highlighting
@@ -1341,6 +1370,7 @@ Context-sensitive completion on the command-line:
|:filetype| :filetype plugin indent on
switch on file type detection, with
automatic indenting and settings
+
------------------------------------------------------------------------------
*Q_gu* GUI commands
@@ -1353,6 +1383,7 @@ Context-sensitive completion on the command-line:
add toolbar item, giving {rhs}
|:tmenu| :tmenu {mpath} {text} add tooltip to menu {mpath}
|:unmenu| :unmenu {mpath} remove menu {mpath}
+
------------------------------------------------------------------------------
*Q_fo* Folding
diff --git a/runtime/doc/repeat.txt b/runtime/doc/repeat.txt
index 508565dea4..b0332269d7 100644
--- a/runtime/doc/repeat.txt
+++ b/runtime/doc/repeat.txt
@@ -83,7 +83,8 @@ pattern and do not match another pattern: >
This first finds all lines containing "found", but only executes {cmd} when
there is no match for "notfound".
-To execute a non-Ex command, you can use the `:normal` command: >
+Any Ex command can be used, see |ex-cmd-index|. To execute a Normal mode
+command, you can use the `:normal` command: >
:g/pat/normal {commands}
Make sure that {commands} ends with a whole command, otherwise Vim will wait
for you to type the rest of the command for each match. The screen will not
@@ -591,7 +592,7 @@ This could be done if some conditions are met. For example, depending on
whether Vim supports a feature or a dependency is missing.
You can also load an optional plugin at startup, by putting this command in
-your |.vimrc|: >
+your |config|: >
:packadd! foodebug
The extra "!" is so that the plugin isn't loaded if Vim was started with
|--noplugin|.
diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt
index d57a85423c..351fe868d9 100644
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
@@ -82,12 +82,10 @@ argument.
--help *-h* *--help* *-?*
-?
-h Give usage (help) message and exit.
- See |info-message| about capturing the text.
--version *-v* *--version*
-v Print version information and exit. Same output as for
|:version| command.
- See |info-message| about capturing the text.
*--clean*
--clean Mimics a fresh install of Nvim:
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index 6fcf292513..8ebe0f3569 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -2057,7 +2057,7 @@ The g:lisp_rainbow option provides 10 levels of individual colorization for
the parentheses and backquoted parentheses. Because of the quantity of
colorization levels, unlike non-rainbow highlighting, the rainbow mode
specifies its highlighting using ctermfg and guifg, thereby bypassing the
-usual colorscheme control using standard highlighting groups. The actual
+usual color scheme control using standard highlighting groups. The actual
highlighting used depends on the dark/bright setting (see |'bg'|).
@@ -2365,7 +2365,7 @@ you set the variable: >
:let papp_include_html=1
-in your startup file it will try to syntax-hilight html code inside phtml
+in your startup file it will try to syntax-highlight html code inside phtml
sections, but this is relatively slow and much too colourful to be able to
edit sensibly. ;)
@@ -3118,7 +3118,7 @@ The default is to use the twice sh_minlines. Set it to a smaller number to
speed up displaying. The disadvantage is that highlight errors may appear.
syntax/sh.vim tries to flag certain problems as errors; usually things like
-extra ']'s, 'done's, 'fi's, etc. If you find the error handling problematic
+unmatched "]", "done", "fi", etc. If you find the error handling problematic
for your purposes, you may suppress such error highlighting by putting
the following line in your .vimrc: >
@@ -4838,7 +4838,7 @@ in their own color.
To customize a color scheme use another name, e.g.
"~/.config/nvim/colors/mine.vim", and use `:runtime` to
- load the original colorscheme: >
+ load the original color scheme: >
runtime colors/evening.vim
hi Statement ctermfg=Blue guifg=Blue
@@ -4846,7 +4846,7 @@ in their own color.
|ColorSchemePre| autocommand event is triggered.
After the color scheme has been loaded the
|ColorScheme| autocommand event is triggered.
- For info about writing a colorscheme file: >
+ For info about writing a color scheme file: >
:edit $VIMRUNTIME/colors/README.txt
:hi[ghlight] List all the current highlight groups that have
@@ -4935,7 +4935,7 @@ cterm={attr-list} *attr-list* *highlight-cterm* *E418*
have the same effect.
"undercurl", "underdouble", "underdotted", and "underdashed" fall back
to "underline" in a terminal that does not support them. The color is
- set using |highlight-guisp|.
+ set using |guisp|.
start={term-list} *highlight-start* *E422*
stop={term-list} *term-list* *highlight-stop*
@@ -4956,8 +4956,8 @@ stop={term-list} *term-list* *highlight-stop*
like "<Esc>" and "<Space>". Example:
start=<Esc>[27h;<Esc>[<Space>r;
-ctermfg={color-nr} *highlight-ctermfg* *E421*
-ctermbg={color-nr} *highlight-ctermbg*
+ctermfg={color-nr} *ctermfg* *E421*
+ctermbg={color-nr} *ctermbg*
The {color-nr} argument is a color number. Its range is zero to
(not including) the number of |tui-colors| available.
The actual color with this number depends on the type of terminal
@@ -5016,7 +5016,7 @@ ctermbg={color-nr} *highlight-ctermbg*
explicitly. This causes the highlight groups that depend on
'background' to change! This means you should set the colors for
Normal first, before setting other colors.
- When a colorscheme is being used, changing 'background' causes it to
+ When a color scheme is being used, changing 'background' causes it to
be reloaded, which may reset all colors (including Normal). First
delete the "g:colors_name" variable when you don't want this.
@@ -5064,9 +5064,9 @@ font={font-name} *highlight-font*
Example: >
:hi comment font='Monospace 10'
-guifg={color-name} *highlight-guifg*
-guibg={color-name} *highlight-guibg*
-guisp={color-name} *highlight-guisp*
+guifg={color-name} *guifg*
+guibg={color-name} *guibg*
+guisp={color-name} *guisp*
These give the foreground (guifg), background (guibg) and special
(guisp) color to use in the GUI. "guisp" is used for various
underlines.
@@ -5123,7 +5123,7 @@ Cursor Character under the cursor.
lCursor Character under the cursor when |language-mapping|
is used (see 'guicursor').
*hl-CursorIM*
-CursorIM Like Cursor, but used when in IME mode. |CursorIM|
+CursorIM Like Cursor, but used when in IME mode. *CursorIM*
*hl-CursorColumn*
CursorColumn Screen-column at the cursor, when 'cursorcolumn' is set.
*hl-CursorLine*
diff --git a/runtime/doc/tabpage.txt b/runtime/doc/tabpage.txt
index 9197710819..49b2773253 100644
--- a/runtime/doc/tabpage.txt
+++ b/runtime/doc/tabpage.txt
@@ -186,8 +186,8 @@ gt *i_CTRL-<PageDown>* *i_<C-PageDown>*
:+2tabnext " go to the two next tab page
:1tabnext " go to the first tab page
:$tabnext " go to the last tab page
- :tabnext # " go to the last accessed tab page
:tabnext $ " as above
+ :tabnext # " go to the last accessed tab page
:tabnext - " go to the previous tab page
:tabnext -1 " as above
:tabnext + " go to the next tab page
diff --git a/runtime/doc/treesitter.txt b/runtime/doc/treesitter.txt
index 3102c6da9a..75395e89ac 100644
--- a/runtime/doc/treesitter.txt
+++ b/runtime/doc/treesitter.txt
@@ -50,13 +50,13 @@ Whenever you need to access the current syntax tree, parse the buffer: >
tstree = tsparser:parse()
<
-This will return a table of immutable |lua-treesitter-tree|s that represent the
+This will return a table of immutable |treesitter-tree|s that represent the
current state of the buffer. When the plugin wants to access the state after a
(possible) edit it should call `parse()` again. If the buffer wasn't edited,
the same tree will be returned again without extra work. If the buffer was
parsed before, incremental parsing will be done of the changed parts.
-Note: To use the parser directly inside a |nvim_buf_attach/)| Lua callback, you
+Note: To use the parser directly inside a |nvim_buf_attach()| Lua callback, you
must call |get_parser()| before you register your callback. But preferably
parsing shouldn't be done directly in the change callback anyway as they will
be very frequent. Rather a plugin that does any kind of analysis on a tree
@@ -233,7 +233,7 @@ The following predicates are built in:
node's text.
`lua-match?` *treesitter-predicate-lua-match?*
- Match a |lua-pattern| against the text corresponding to a node,
+ Match |lua-patterns| against the text corresponding to a node,
similar to `match?`
`contains?` *treesitter-predicate-contains?*
@@ -394,7 +394,7 @@ still highlighted the same as other operators: >
"!=" @operator (#set! conceal "≠")
<
-Conceals specified in this way respect |conceallevel|.
+Conceals specified in this way respect 'conceallevel'.
*treesitter-highlight-priority*
Treesitter uses |nvim_buf_set_extmark()| to set highlights with a default
@@ -650,7 +650,7 @@ get_query({lang}, {query_name}) *get_query()*
Parameters: ~
{lang} (string) Language to use for the query
- {query_name} (string) Name of the query (e.g. 'highlights')
+ {query_name} (string) Name of the query (e.g. "highlights")
Return: ~
Query Parsed query
@@ -661,7 +661,7 @@ get_query_files({lang}, {query_name}, {is_included})
Parameters: ~
{lang} (string) Language to get query for
- {query_name} (string) Name of the query to load (e.g., 'highlights')
+ {query_name} (string) Name of the query to load (e.g., "highlights")
{is_included} (boolean|nil) Internal parameter, most of the time left
as `nil`
@@ -742,7 +742,7 @@ Query:iter_matches({self}, {node}, {source}, {start}, {stop})
Iterates the matches of self on a given range.
Iterate over all matches within a {node}. The arguments are the same as
- for |query:iter_captures()| but the iterated values are different: an
+ for |Query:iter_captures()| but the iterated values are different: an
(1-based) index of the pattern in the query, a table mapping capture
indices to nodes, and metadata from any directives processing the match.
If the query has more than one pattern, the capture table might be sparse
@@ -780,7 +780,7 @@ set_query({lang}, {query_name}, {text}) *set_query()*
Parameters: ~
{lang} (string) Language to use for the query
- {query_name} (string) Name of the query (e.g., 'highlights')
+ {query_name} (string) Name of the query (e.g., "highlights")
{text} (string) Query text (unparsed).
diff --git a/runtime/doc/ui.txt b/runtime/doc/ui.txt
index 955af84679..7ce6cd251f 100644
--- a/runtime/doc/ui.txt
+++ b/runtime/doc/ui.txt
@@ -23,40 +23,37 @@ screen grid with a size of width × height cells. This is typically done by an
embedder at startup (see |ui-startup|), but UIs can also connect to a running
Nvim instance and invoke nvim_ui_attach(). The `options` parameter is a map
with these (optional) keys:
+
*ui-rgb*
- `rgb` Decides the color format.
- true: (default) 24-bit RGB colors
- false: Terminal colors (8-bit, max 256)
+- `rgb` Decides the color format.
+ - true: (default) 24-bit RGB colors
+ - false: Terminal colors (8-bit, max 256)
*ui-override*
- `override` Decides how UI capabilities are resolved.
- true: Enable requested UI capabilities, even
- if not supported by all connected UIs
- (including |TUI|).
- false: (default) Disable UI capabilities not
- supported by all connected UIs
- (including TUI).
+- `override` Decides how UI capabilities are resolved.
+ - true: Enable requested UI capabilities, even if not
+ supported by all connected UIs (including |TUI|).
+ - false: (default) Disable UI capabilities not
+ supported by all connected UIs (including TUI).
*ui-ext-options*
- `ext_cmdline` Externalize the cmdline. |ui-cmdline|
- `ext_hlstate` Detailed highlight state. |ui-hlstate|
- Sets `ext_linegrid` implicitly.
- `ext_linegrid` Line-based grid events. |ui-linegrid|
- Deactivates |ui-grid-old| implicitly.
- `ext_messages` Externalize messages. |ui-messages|
- Sets `ext_linegrid` and `ext_cmdline` implicitly.
- `ext_multigrid` Per-window grid events. |ui-multigrid|
- Sets `ext_linegrid` implicitly.
- `ext_popupmenu` Externalize |popupmenu-completion| and
- 'wildmenu'. |ui-popupmenu|
- `ext_tabline` Externalize the tabline. |ui-tabline|
- `ext_termcolors` Use external default colors.
- `term_name` Sets the name of the terminal 'term'.
- `term_colors` Sets the number of supported colors 't_Co'.
- `term_background` Sets the default value of 'background'.
- `stdin_fd` Read buffer from `fd` as if it was a stdin pipe
- This option can only used by |--embed| ui,
- see |ui-startup-stdin|.
-
-
+- `ext_cmdline` Externalize the cmdline. |ui-cmdline|
+- `ext_hlstate` Detailed highlight state. |ui-hlstate|
+ Sets `ext_linegrid` implicitly.
+- `ext_linegrid` Line-based grid events. |ui-linegrid|
+ Deactivates |ui-grid-old| implicitly.
+- `ext_messages` Externalize messages. |ui-messages|
+ Sets `ext_linegrid` and `ext_cmdline` implicitly.
+- `ext_multigrid` Per-window grid events. |ui-multigrid|
+ Sets `ext_linegrid` implicitly.
+- `ext_popupmenu` Externalize |popupmenu-completion| and
+ 'wildmenu'. |ui-popupmenu|
+- `ext_tabline` Externalize the tabline. |ui-tabline|
+- `ext_termcolors` Use external default colors.
+- `term_name` Sets the name of the terminal 'term'.
+- `term_colors` Sets the number of supported colors 't_Co'.
+- `term_background` Sets the default value of 'background'.
+- `stdin_fd` Read buffer from `fd` as if it was a stdin pipe
+ This option can only used by |--embed| ui,
+ see |ui-startup-stdin|.
Specifying an unknown option is an error; UIs can check the |api-metadata|
`ui_options` key for supported options.
@@ -164,13 +161,13 @@ Global Events *ui-global*
The following UI events are always emitted, and describe global state of
the editor.
-["set_title", title]
-["set_icon", icon]
+["set_title", title] ~
+["set_icon", icon] ~
Set the window title, and icon (minimized) window title, respectively.
In windowing systems not distinguishing between the two, "set_icon"
can be ignored.
-["mode_info_set", cursor_style_enabled, mode_info]
+["mode_info_set", cursor_style_enabled, mode_info] ~
`cursor_style_enabled` is a boolean indicating if the UI should set
the cursor style. `mode_info` is a list of mode property maps. The
current mode is given by the `mode_idx` field of the `mode_change`
@@ -197,21 +194,21 @@ the editor.
`hl_id`: Use `attr_id` instead.
`hl_lm`: Use `attr_id_lm` instead.
-["option_set", name, value]
+["option_set", name, value] ~
UI-related option changed, where `name` is one of:
- 'arabicshape'
- 'ambiwidth'
- 'emoji'
- 'guifont'
- 'guifontwide'
- 'linespace'
- 'mousefocus'
- 'mousemoveevent'
- 'pumblend'
- 'showtabline'
- 'termguicolors'
- "ext_*" (all |ui-ext-options|)
+ - 'arabicshape'
+ - 'ambiwidth'
+ - 'emoji'
+ - 'guifont'
+ - 'guifontwide'
+ - 'linespace'
+ - 'mousefocus'
+ - 'mousemoveevent'
+ - 'pumblend'
+ - 'showtabline'
+ - 'termguicolors'
+ - "ext_*" (all |ui-ext-options|)
Triggered when the UI first connects to Nvim, and whenever an option
is changed by the user or a plugin.
@@ -224,7 +221,7 @@ the editor.
however a UI might still use such options when rendering raw text
sent from Nvim, like for |ui-cmdline|.
-["mode_change", mode, mode_idx]
+["mode_change", mode, mode_idx] ~
Editor mode changed. The `mode` parameter is a string representing
the current mode. `mode_idx` is an index into the array emitted in
the `mode_info_set` event. UIs should change the cursor style
@@ -233,30 +230,30 @@ the editor.
instance more submodes and temporary states might be represented as
separate modes.
-["mouse_on"]
-["mouse_off"]
+["mouse_on"] ~
+["mouse_off"] ~
'mouse' was enabled/disabled in the current editor mode. Useful for
a terminal UI, or embedding into an application where Nvim mouse would
conflict with other usages of the mouse. Other UI:s may ignore this event.
-["busy_start"]
-["busy_stop"]
+["busy_start"] ~
+["busy_stop"] ~
Indicates to the UI that it must stop rendering the cursor. This event
is misnamed and does not actually have anything to do with busyness.
-["suspend"]
+["suspend"] ~
|:suspend| command or |CTRL-Z| mapping is used. A terminal client (or
another client where it makes sense) could suspend itself. Other
clients can safely ignore it.
-["update_menu"]
+["update_menu"] ~
The menu mappings changed.
-["bell"]
-["visual_bell"]
+["bell"] ~
+["visual_bell"] ~
Notify the user with an audible or visual bell, respectively.
-["flush"]
+["flush"] ~
Nvim is done redrawing the screen. For an implementation that renders
to an internal buffer, this is the time to display the redrawn parts
to the user.
@@ -279,11 +276,11 @@ be created; to enable per-window grids, activate |ui-multigrid|.
Highlight attribute groups are predefined. UIs should maintain a table to map
numerical highlight ids to the actual attributes.
-["grid_resize", grid, width, height]
+["grid_resize", grid, width, height] ~
Resize a `grid`. If `grid` wasn't seen by the client before, a new grid is
being created with this size.
-["default_colors_set", rgb_fg, rgb_bg, rgb_sp, cterm_fg, cterm_bg]
+["default_colors_set", rgb_fg, rgb_bg, rgb_sp, cterm_fg, cterm_bg] ~
The first three arguments set the default foreground, background and
special colors respectively. `cterm_fg` and `cterm_bg` specifies the
default color codes to use in a 256-color terminal.
@@ -300,7 +297,7 @@ numerical highlight ids to the actual attributes.
screen with changed background color itself.
*ui-event-hl_attr_define*
-["hl_attr_define", id, rgb_attr, cterm_attr, info]
+["hl_attr_define", id, rgb_attr, cterm_attr, info] ~
Add a highlight with `id` to the highlight table, with the
attributes specified by the `rgb_attr` and `cterm_attr` dicts, with the
following (all optional) keys.
@@ -346,7 +343,7 @@ numerical highlight ids to the actual attributes.
`info` is an empty array by default, and will be used by the
|ui-hlstate| extension explained below.
-["hl_group_set", name, hl_id]
+["hl_group_set", name, hl_id] ~
The bulitin highlight group `name` was set to use the attributes `hl_id`
defined by a previous `hl_attr_define` call. This event is not needed
to render the grids which use attribute ids directly, but is useful
@@ -355,7 +352,7 @@ numerical highlight ids to the actual attributes.
use the |hl-Pmenu| family of builtin highlights.
*ui-event-grid_line*
-["grid_line", grid, row, col_start, cells]
+["grid_line", grid, row, col_start, cells] ~
Redraw a continuous part of a `row` on a `grid`, starting at the column
`col_start`. `cells` is an array of arrays each with 1 to 3 items:
`[text(, hl_id, repeat)]` . `text` is the UTF-8 text that should be put in
@@ -374,19 +371,19 @@ numerical highlight ids to the actual attributes.
enough to cover the remaining line, will be sent when the rest of the
line should be cleared.
-["grid_clear", grid]
+["grid_clear", grid] ~
Clear a `grid`.
-["grid_destroy", grid]
+["grid_destroy", grid] ~
`grid` will not be used anymore and the UI can free any data associated
with it.
-["grid_cursor_goto", grid, row, column]
+["grid_cursor_goto", grid, row, column] ~
Makes `grid` the current grid and `row, column` the cursor position on this
grid. This event will be sent at most once in a `redraw` batch and
indicates the visible cursor position.
-["grid_scroll", grid, top, bot, left, right, rows, cols]
+["grid_scroll", grid, top, bot, left, right, rows, cols] ~
Scroll a region of `grid`. This is semantically unrelated to editor
|scrolling|, rather this is an optimized way to say "copy these screen
cells".
@@ -439,30 +436,30 @@ Grid Events (cell-based) *ui-grid-old*
This is the legacy representation of the screen grid, emitted if |ui-linegrid|
is not active. New UIs should implement |ui-linegrid| instead.
-["resize", width, height]
+["resize", width, height] ~
The grid is resized to `width` and `height` cells.
-["clear"]
+["clear"] ~
Clear the grid.
-["eol_clear"]
+["eol_clear"] ~
Clear from the cursor position to the end of the current line.
-["cursor_goto", row, col]
+["cursor_goto", row, col] ~
Move the cursor to position (row, col). Currently, the same cursor is
used to define the position for text insertion and the visible cursor.
However, only the last cursor position, after processing the entire
array in the "redraw" event, is intended to be a visible cursor
position.
-["update_fg", color]
-["update_bg", color]
-["update_sp", color]
+["update_fg", color] ~
+["update_bg", color] ~
+["update_sp", color] ~
Set the default foreground, background and special colors
respectively.
*ui-event-highlight_set*
-["highlight_set", attrs]
+["highlight_set", attrs] ~
Set the attributes that the next text put on the grid will have.
`attrs` is a dict with the keys below. Any absent key is reset
to its default value. Color defaults are set by the `update_fg` etc
@@ -482,18 +479,18 @@ is not active. New UIs should implement |ui-linegrid| instead.
`underdotted`: underdotted text. The dots have `special` color.
`underdashed`: underdashed text. The dashes have `special` color.
-["put", text]
+["put", text] ~
The (utf-8 encoded) string `text` is put at the cursor position
(and the cursor is advanced), with the highlights as set by the
last `highlight_set` update.
-["set_scroll_region", top, bot, left, right]
+["set_scroll_region", top, bot, left, right] ~
Define the scroll region used by `scroll` below.
Note: ranges are end-inclusive, which is inconsistent with API
conventions.
-["scroll", count]
+["scroll", count] ~
Scroll the text in the scroll region. The diagrams below illustrate
what will happen, depending on the scroll direction. "=" is used to
represent the SR(scroll region) boundaries and "-" the moved rectangles.
@@ -576,7 +573,7 @@ The multigrid extension gives UIs more control over how windows are displayed:
per-window. Or reserve space around the border of the window for its own
elements, such as scrollbars from the UI toolkit.
- A dedicated grid is used for messages, which may scroll over the window
- area. (Alternatively |ext_messages| can be used).
+ area. (Alternatively |ui-messages| can be used).
By default, the grid size is handled by Nvim and set to the outer grid size
(i.e. the size of the window frame in Nvim) whenever the split is created.
@@ -588,29 +585,29 @@ A window can be hidden and redisplayed without its grid being deallocated.
This can happen multiple times for the same window, for instance when switching
tabs.
-["win_pos", grid, win, start_row, start_col, width, height]
+["win_pos", grid, win, start_row, start_col, width, height] ~
Set the position and size of the grid in Nvim (i.e. the outer grid
size). If the window was previously hidden, it should now be shown
again.
-["win_float_pos", grid, win, anchor, anchor_grid, anchor_row, anchor_col, focusable]
+["win_float_pos", grid, win, anchor, anchor_grid, anchor_row, anchor_col, focusable] ~
Display or reconfigure floating window `win`. The window should be
displayed above another grid `anchor_grid` at the specified position
`anchor_row` and `anchor_col`. For the meaning of `anchor` and more
details of positioning, see |nvim_open_win()|.
-["win_external_pos", grid, win]
+["win_external_pos", grid, win] ~
Display or reconfigure external window `win`. The window should be
displayed as a separate top-level window in the desktop environment,
or something similar.
-["win_hide", grid]
+["win_hide", grid] ~
Stop displaying the window. The window can be shown again later.
-["win_close", grid]
+["win_close", grid] ~
Close the window.
-["msg_set_pos", grid, row, scrolled, sep_char]
+["msg_set_pos", grid, row, scrolled, sep_char] ~
Display messages on `grid`. The grid will be displayed at `row` on the
default grid (grid=1), covering the full column width. `scrolled`
indicates whether the message area has been scrolled to cover other
@@ -618,16 +615,16 @@ tabs.
flag). The Builtin TUI draws a full line filled with `sep_char` and
|hl-MsgSeparator| highlight.
- When |ext_messages| is active, no message grid is used, and this event
+ When |ui-messages| is active, no message grid is used, and this event
will not be sent.
-["win_viewport", grid, win, topline, botline, curline, curcol]
+["win_viewport", grid, win, topline, botline, curline, curcol] ~
Indicates the range of buffer text displayed in the window, as well
as the cursor position in the buffer. All positions are zero-based.
`botline` is set to one more than the line count of the buffer, if
there are filler lines past the end.
-["win_extmark", grid, win, ns_id, mark_id, row, col]
+["win_extmark", grid, win, ns_id, mark_id, row, col] ~
Updates the position of an extmark which is currently visible in a
window. Only emitted if the mark has the `ui_watched` attribute.
@@ -639,7 +636,7 @@ Activated by the `ext_popupmenu` |ui-option|.
This UI extension delegates presentation of the |popupmenu-completion| and
command-line 'wildmenu'.
-["popupmenu_show", items, selected, row, col, grid]
+["popupmenu_show", items, selected, row, col, grid] ~
Show |popupmenu-completion|. `items` is an array of completion items
to show; each item is an array of the form [word, kind, menu, info] as
defined at |complete-items|, except that `word` is replaced by `abbr`
@@ -651,12 +648,12 @@ command-line 'wildmenu'.
set to -1 to indicate the popupmenu should be anchored to the external
cmdline. Then `col` will be a byte position in the cmdline text.
-["popupmenu_select", selected]
+["popupmenu_select", selected] ~
Select an item in the current popupmenu. `selected` is a zero-based
index into the array of items from the last popupmenu_show event, or
-1 if no item is selected.
-["popupmenu_hide"]
+["popupmenu_hide"] ~
Hide the popupmenu.
==============================================================================
@@ -664,7 +661,7 @@ Tabline Events *ui-tabline*
Activated by the `ext_tabline` |ui-option|.
-["tabline_update", curtab, tabs, curbuf, buffers]
+["tabline_update", curtab, tabs, curbuf, buffers] ~
Tabline was updated. UIs should present this data in a custom tabline
widget. Note: options `curbuf` + `buffers` were added in API7.
curtab: Current Tabpage
@@ -680,7 +677,7 @@ Activated by the `ext_cmdline` |ui-option|.
This UI extension delegates presentation of the |cmdline| (except 'wildmenu').
For command-line 'wildmenu' UI events, activate |ui-popupmenu|.
-["cmdline_show", content, pos, firstc, prompt, indent, level]
+["cmdline_show", content, pos, firstc, prompt, indent, level] ~
content: List of [attrs, string]
[[{}, "t"], [attrs, "est"], ...]
@@ -703,10 +700,10 @@ For command-line 'wildmenu' UI events, activate |ui-popupmenu|.
prompt has level 2. A command line invoked from the |cmdline-window|
has a higher level than than the edited command line.
-["cmdline_pos", pos, level]
+["cmdline_pos", pos, level] ~
Change the cursor position in the cmdline.
-["cmdline_special_char", c, shift, level]
+["cmdline_special_char", c, shift, level] ~
Display a special char in the cmdline at the cursor position. This is
typically used to indicate a pending state, e.g. after |c_CTRL-V|. If
`shift` is true the text after the cursor should be shifted, otherwise
@@ -714,10 +711,10 @@ For command-line 'wildmenu' UI events, activate |ui-popupmenu|.
Should be hidden at next cmdline_show.
-["cmdline_hide"]
+["cmdline_hide"] ~
Hide the cmdline.
-["cmdline_block_show", lines]
+["cmdline_block_show", lines] ~
Show a block of context to the current command line. For example if
the user defines a |:function| interactively: >
:function Foo()
@@ -727,10 +724,10 @@ For command-line 'wildmenu' UI events, activate |ui-popupmenu|.
`lines` is a list of lines of highlighted chunks, in the same form as
the "cmdline_show" `contents` parameter.
-["cmdline_block_append", line]
+["cmdline_block_append", line] ~
Append a line at the end of the currently shown block.
-["cmdline_block_hide"]
+["cmdline_block_hide"] ~
Hide the block.
==============================================================================
@@ -747,7 +744,7 @@ Nvim will not allocate screen space for the cmdline or messages, and
'cmdheight' will be forced zero. Cmdline state is emitted as |ui-cmdline|
events, which the UI must handle.
-["msg_show", kind, content, replace_last]
+["msg_show", kind, content, replace_last] ~
Display a message to the user.
kind
@@ -781,25 +778,25 @@ events, which the UI must handle.
true: Replace the message in the most-recent `msg_show` call,
but any other visible message should still remain.
-["msg_clear"]
+["msg_clear"] ~
Clear all messages currently displayed by "msg_show". (Messages sent
by other "msg_" events below will not be affected).
-["msg_showmode", content]
+["msg_showmode", content] ~
Shows 'showmode' and |recording| messages. `content` has the same
format as in "msg_show". This event is sent with empty `content` to
hide the last message.
-["msg_showcmd", content]
+["msg_showcmd", content] ~
Shows 'showcmd' messages. `content` has the same format as in "msg_show".
This event is sent with empty `content` to hide the last message.
-["msg_ruler", content]
+["msg_ruler", content] ~
Used to display 'ruler' when there is no space for the ruler in a
statusline. `content` has the same format as in "msg_show". This event is
sent with empty `content` to hide the last message.
-["msg_history_show", entries]
+["msg_history_show", entries] ~
Sent when |:messages| command is invoked. History is sent as a list of
entries, where each entry is a `[kind, content]` tuple.
diff --git a/runtime/doc/userfunc.txt b/runtime/doc/userfunc.txt
index c015b12c27..5462fa952c 100644
--- a/runtime/doc/userfunc.txt
+++ b/runtime/doc/userfunc.txt
@@ -214,7 +214,7 @@ It is allowed to define another function inside a function body.
You can provide default values for positional named arguments. This makes
them optional for function calls. When a positional argument is not
specified at a call, the default expression is used to initialize it.
-This only works for functions declared with |function|, not for
+This only works for functions declared with `:function`, not for
lambda expressions |expr-lambda|.
Example: >
@@ -422,8 +422,7 @@ Also note that if you have two script files, and one calls a function in the
other and vice versa, before the used function is defined, it won't work.
Avoid using the autoload functionality at the toplevel.
-Hint: If you distribute a bunch of scripts you can pack them together with the
-|vimball| utility. Also read the user manual |distribute-script|.
+Hint: If you distribute a bunch of scripts read |distribute-script|.
vim:tw=78:ts=8:noet:ft=help:norl:
diff --git a/runtime/doc/usr_22.txt b/runtime/doc/usr_22.txt
index f53d578456..539bda3980 100644
--- a/runtime/doc/usr_22.txt
+++ b/runtime/doc/usr_22.txt
@@ -220,7 +220,7 @@ a tab page share this directory except for windows with a window-local
directory. Any new windows opened in this tab page will use this directory as
the current working directory. Using a `:cd` command in a tab page will not
change the working directory of tab pages which have a tab local directory.
-When the global working directory is changed using the ":cd" command in a tab
+When the global working directory is changed using the `:cd` command in a tab
page, it will also change the current tab page working directory.
diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt
index 1aa9aaa0c4..fb9d59f885 100644
--- a/runtime/doc/usr_41.txt
+++ b/runtime/doc/usr_41.txt
@@ -1016,6 +1016,7 @@ Testing: *test-functions*
assert_beeps() assert that a command beeps
assert_nobeep() assert that a command does not cause a beep
assert_fails() assert that a command fails
+ assert_report() report a test failure
Timers: *timer-functions*
timer_start() create a timer
@@ -1710,7 +1711,7 @@ There is a little "catch" with comments for some commands. Examples: >
:execute cmd " do it
:!ls *.c " list C files
-The abbreviation 'dev' will be expanded to 'development " shorthand'. The
+The abbreviation "dev" will be expanded to 'development " shorthand'. The
mapping of <F3> will actually be the whole line after the 'o# ....' including
the '" insert include'. The "execute" command will give an error. The "!"
command will send everything after it to the shell, causing an error for an
@@ -1761,7 +1762,7 @@ does not exist as a mapped sequence. An error will be issued, which is very
hard to identify, because the ending whitespace character in ":unmap ,ab " is
not visible.
-And this is the same as what happens when one uses a comment after an 'unmap'
+And this is the same as what happens when one uses a comment after an "unmap"
command: >
:unmap ,ab " comment
diff --git a/runtime/doc/usr_45.txt b/runtime/doc/usr_45.txt
index 3199c4d8ea..0d23ef50fd 100644
--- a/runtime/doc/usr_45.txt
+++ b/runtime/doc/usr_45.txt
@@ -300,8 +300,7 @@ can use digraphs. This was already explained in |24.9|.
keyboard, you will want to use an Input Method (IM). This requires learning
the translation from typed keys to resulting character. When you need an IM
you probably already have one on your system. It should work with Vim like
-with other programs. For details see |mbyte-XIM| for the X Window system and
-|mbyte-IME| for MS-Windows.
+with other programs.
KEYMAPS
diff --git a/runtime/doc/vim_diff.txt b/runtime/doc/vim_diff.txt
index e254e5edd0..672d064478 100644
--- a/runtime/doc/vim_diff.txt
+++ b/runtime/doc/vim_diff.txt
@@ -417,8 +417,8 @@ Normal commands:
Options:
'ttimeout', 'ttimeoutlen' behavior was simplified
- |jumpoptions| "stack" behavior
- |jumpoptions| "view" tries to restore the |mark-view| when moving through
+ 'jumpoptions' "stack" behavior
+ 'jumpoptions' "view" tries to restore the |mark-view| when moving through
the |jumplist|, |changelist|, |alternate-file| or using |mark-motions|.
'shortmess' the "F" flag does not affect output from autocommands
@@ -498,13 +498,16 @@ Working directory (Vim implemented some of these later than Nvim):
==============================================================================
5. Missing legacy features *nvim-features-missing*
-Some legacy Vim features are not implemented:
+Some legacy Vim features are not yet implemented:
-- |if_lua|: Nvim Lua API is not compatible with Vim's "if_lua"
+- *if_lua* : Nvim |Lua| API is not compatible with Vim's "if_lua"
- *if_mzscheme*
-- |if_py|: *python-bindeval* *python-Function* are not supported
+- |if_pyth|: *python-bindeval* *python-Function* are not supported
- *if_tcl*
+*:gui*
+*:gvim*
+
==============================================================================
6. Removed features *nvim-features-removed*
@@ -566,18 +569,18 @@ Highlight groups:
<
Options:
- 'antialias'
+ antialias
*'balloondelay'* *'bdlay'*
*'ballooneval'* *'beval'* *'noballooneval'* *'nobeval'*
*'balloonexpr'* *'bexpr'*
- 'bioskey' (MS-DOS)
- 'conskey' (MS-DOS)
+ bioskey (MS-DOS)
+ conskey (MS-DOS)
*'cp'* *'nocompatible'* *'nocp'* *'compatible'* (Nvim is always "nocompatible".)
'cpoptions' (gjkHw<*- and all POSIX flags were removed)
*'cryptmethod'* *'cm'* *'key'* (Vim encryption implementation)
*'ed'* *'edcompatible'* *'noed'* *'noedcompatible'*
'encoding' ("utf-8" is always used)
- 'esckeys'
+ esckeys
'guioptions' "t" flag was removed
*'guifontset'* *'gfs'* (Use 'guifont' instead.)
*'guipty'* (Nvim uses pipes and PTYs consistently on all platforms.)
@@ -618,18 +621,18 @@ Options:
Nvim always displays up to 6 combining characters. You can still edit
text with more than 6 combining characters, you just can't see them.
Use |g8| or |ga|. See |mbyte-combining|.
- 'maxmem' Nvim delegates memory-management to the OS.
- 'maxmemtot' Nvim delegates memory-management to the OS.
+ *'maxmem'* Nvim delegates memory-management to the OS.
+ *'maxmemtot'* Nvim delegates memory-management to the OS.
*'prompt'* *'noprompt'*
*'remap'* *'noremap'*
*'restorescreen'* *'rs'* *'norestorescreen'* *'nors'*
- 'shelltype'
+ *'shelltype'*
*'shortname'* *'sn'* *'noshortname'* *'nosn'*
*'swapsync'* *'sws'*
*'termencoding'* *'tenc'* (Vim 7.4.852 also removed this for Windows)
*'terse'* *'noterse'* (Add "s" to 'shortmess' instead)
- 'textauto'
- 'textmode'
+ textauto
+ textmode
*'toolbar'* *'tb'*
*'toolbariconsize'* *'tbis'*
*'ttybuiltin'* *'tbi'* *'nottybuiltin'* *'notbi'*
@@ -637,7 +640,7 @@ Options:
*'ttymouse'* *'ttym'*
*'ttyscroll'* *'tsl'*
*'ttytype'* *'tty'*
- 'weirdinvert'
+ weirdinvert
Startup:
--literal (file args are always literal; to expand wildcards on Windows, use
diff --git a/runtime/doc/windows.txt b/runtime/doc/windows.txt
index 6386e4ace1..45cedd2cd8 100644
--- a/runtime/doc/windows.txt
+++ b/runtime/doc/windows.txt
@@ -119,7 +119,7 @@ windows.
*filler-lines*
The lines after the last buffer line in a window are called filler lines. By
-default, these lines start with a tilde (~) character. The 'eob' item in the
+default, these lines start with a tilde (~) character. The "eob" item in the
'fillchars' option can be used to change this character. By default, these
characters are highlighted as NonText (|hl-NonText|). The EndOfBuffer
highlight group (|hl-EndOfBuffer|) can be used to change the highlighting of
@@ -148,7 +148,7 @@ CTRL-W CTRL-S *CTRL-W_CTRL-S*
Note: CTRL-S does not work on all terminals and might block
further input, use CTRL-Q to get going again.
Also see |++opt| and |+cmd|.
- *E242*
+ *E242* *E1159*
Be careful when splitting a window in an autocommand, it may
mess up the window layout if this happens while making other
window layout changes.
@@ -291,9 +291,8 @@ Closing a window
:{count}q[uit] *:count_quit*
CTRL-W q *CTRL-W_q*
CTRL-W CTRL-Q *CTRL-W_CTRL-Q*
- Without {count}: Quit the current window. If {count} is
- given quit the {count} window
-
+ Without {count}: Quit the current window. If {count} is
+ given quit the {count} window.
*edit-window*
When quitting the last edit window (not counting help or
preview windows), exit Vim.
@@ -352,7 +351,7 @@ CTRL-W CTRL-C *CTRL-W_CTRL-C*
window, but that does not work, because the CTRL-C cancels the
command.
- *:hide*
+ *:hide*
:hid[e]
:{count}hid[e]
Without {count}: Quit the current window, unless it is the
@@ -751,6 +750,7 @@ can also get to them with the buffer list commands, like ":bnext".
the current window.
{cmd} can contain '|' to concatenate several commands.
{cmd} must not open or close windows or reorder them.
+
Also see |:tabdo|, |:argdo|, |:bufdo|, |:cdo|, |:ldo|,
|:cfdo| and |:lfdo|.
@@ -778,6 +778,7 @@ can also get to them with the buffer list commands, like ":bnext".
autocommand event is disabled by adding it to
'eventignore'. This considerably speeds up editing
each buffer.
+
Also see |:tabdo|, |:argdo|, |:windo|, |:cdo|, |:ldo|,
|:cfdo| and |:lfdo|.