aboutsummaryrefslogtreecommitdiff
path: root/runtime
diff options
context:
space:
mode:
Diffstat (limited to 'runtime')
-rw-r--r--runtime/autoload/dist/ft.vim11
-rw-r--r--runtime/autoload/python.vim71
-rw-r--r--runtime/doc/api.txt4682
-rw-r--r--runtime/doc/autocmd.txt4
-rw-r--r--runtime/doc/builtin.txt97
-rw-r--r--runtime/doc/cmdline.txt18
-rw-r--r--runtime/doc/diagnostic.txt930
-rw-r--r--runtime/doc/editing.txt11
-rw-r--r--runtime/doc/help.txt3
-rw-r--r--runtime/doc/index.txt1
-rw-r--r--runtime/doc/lsp.txt2558
-rw-r--r--runtime/doc/lua.txt2162
-rw-r--r--runtime/doc/luaref.txt4966
-rw-r--r--runtime/doc/luvref.txt3898
-rw-r--r--runtime/doc/map.txt11
-rw-r--r--runtime/doc/motion.txt3
-rw-r--r--runtime/doc/options.txt40
-rw-r--r--runtime/doc/syntax.txt2
-rw-r--r--runtime/doc/treesitter.txt794
-rw-r--r--runtime/doc/usr_41.txt11
-rw-r--r--runtime/doc/vim_diff.txt4
-rw-r--r--runtime/doc/windows.txt3
-rw-r--r--runtime/filetype.vim7
-rw-r--r--runtime/ftplugin/abaqus.vim48
-rw-r--r--runtime/ftplugin/elixir.vim20
-rw-r--r--runtime/ftplugin/php.vim151
-rw-r--r--runtime/ftplugin/vim.vim4
-rw-r--r--runtime/indent/lisp.vim4
-rw-r--r--runtime/indent/systemverilog.vim176
-rw-r--r--runtime/indent/testdir/python.in68
-rw-r--r--runtime/indent/testdir/python.ok68
-rw-r--r--runtime/lua/vim/filetype.lua27
-rw-r--r--runtime/lua/vim/filetype/detect.lua15
-rw-r--r--runtime/lua/vim/keymap.lua19
-rw-r--r--runtime/lua/vim/lsp.lua460
-rw-r--r--runtime/lua/vim/lsp/buf.lua14
-rw-r--r--runtime/lua/vim/lsp/rpc.lua25
-rw-r--r--runtime/lua/vim/lsp/util.lua2
-rw-r--r--runtime/lua/vim/shared.lua2
-rw-r--r--runtime/pack/dist/opt/matchit/doc/matchit.txt3
-rw-r--r--runtime/syntax/README.txt3
-rw-r--r--runtime/syntax/abaqus.vim7
-rw-r--r--runtime/syntax/shared/README.txt2
-rw-r--r--runtime/syntax/shared/typescriptcommon.vim2099
-rw-r--r--runtime/syntax/swayconfig.vim8
-rw-r--r--runtime/syntax/typescript.vim2
-rw-r--r--runtime/syntax/typescriptreact.vim2
-rw-r--r--runtime/tools/emoji_list.vim21
48 files changed, 17264 insertions, 6273 deletions
diff --git a/runtime/autoload/dist/ft.vim b/runtime/autoload/dist/ft.vim
index a2f485dd67..77140d62b1 100644
--- a/runtime/autoload/dist/ft.vim
+++ b/runtime/autoload/dist/ft.vim
@@ -348,7 +348,7 @@ func dist#ft#FTidl()
setf idl
endfunc
-" Distinguish between "default" and Cproto prototype file. */
+" Distinguish between "default", Prolog and Cproto prototype file. */
func dist#ft#ProtoCheck(default)
" Cproto files have a comment in the first line and a function prototype in
" the second line, it always ends in ";". Indent files may also have
@@ -358,7 +358,14 @@ func dist#ft#ProtoCheck(default)
if getline(2) =~ '.;$'
setf cpp
else
- exe 'setf ' . a:default
+ " recognize Prolog by specific text in the first non-empty line
+ " require a blank after the '%' because Perl uses "%list" and "%translate"
+ let l = getline(nextnonblank(1))
+ if l =~ '\<prolog\>' || l =~ '^\s*\(%\+\(\s\|$\)\|/\*\)' || l =~ ':-'
+ setf prolog
+ else
+ exe 'setf ' .. a:default
+ endif
endif
endfunc
diff --git a/runtime/autoload/python.vim b/runtime/autoload/python.vim
index 7e7bca6fb6..4b220708cf 100644
--- a/runtime/autoload/python.vim
+++ b/runtime/autoload/python.vim
@@ -3,13 +3,28 @@
let s:keepcpo= &cpo
set cpo&vim
+" searchpair() can be slow, limit the time to 150 msec or what is put in
+" g:pyindent_searchpair_timeout
+let s:searchpair_timeout = get(g:, 'pyindent_searchpair_timeout', 150)
+
+" Identing inside parentheses can be very slow, regardless of the searchpair()
+" timeout, so let the user disable this feature if he doesn't need it
+let s:disable_parentheses_indenting = get(g:, 'pyindent_disable_parentheses_indenting', v:false)
+
+let s:maxoff = 50 " maximum number of lines to look backwards for ()
+
+function s:SearchBracket(fromlnum, flags)
+ return searchpairpos('[[({]', '', '[])}]', a:flags,
+ \ {-> synID('.', col('.'), v:true)->synIDattr('name')
+ \ =~ '\%(Comment\|Todo\|String\)$'},
+ \ [0, a:fromlnum - s:maxoff]->max(), s:searchpair_timeout)
+endfunction
+
" See if the specified line is already user-dedented from the expected value.
function s:Dedented(lnum, expected)
return indent(a:lnum) <= a:expected - shiftwidth()
endfunction
-let s:maxoff = 50 " maximum number of lines to look backwards for ()
-
" Some other filetypes which embed Python have slightly different indent
" rules (e.g. bitbake). Those filetypes can pass an extra funcref to this
" function which is evaluated below.
@@ -39,30 +54,30 @@ function python#GetIndent(lnum, ...)
return 0
endif
- call cursor(plnum, 1)
-
- " Identing inside parentheses can be very slow, regardless of the searchpair()
- " timeout, so let the user disable this feature if he doesn't need it
- let disable_parentheses_indenting = get(g:, "pyindent_disable_parentheses_indenting", 0)
-
- if disable_parentheses_indenting == 1
+ if s:disable_parentheses_indenting == 1
let plindent = indent(plnum)
let plnumstart = plnum
else
- " searchpair() can be slow sometimes, limit the time to 150 msec or what is
- " put in g:pyindent_searchpair_timeout
- let searchpair_stopline = 0
- let searchpair_timeout = get(g:, 'pyindent_searchpair_timeout', 150)
+ " Indent inside parens.
+ " Align with the open paren unless it is at the end of the line.
+ " E.g.
+ " open_paren_not_at_EOL(100,
+ " (200,
+ " 300),
+ " 400)
+ " open_paren_at_EOL(
+ " 100, 200, 300, 400)
+ call cursor(a:lnum, 1)
+ let [parlnum, parcol] = s:SearchBracket(a:lnum, 'nbW')
+ if parlnum > 0 && parcol != col([parlnum, '$']) - 1
+ return parcol
+ endif
+
+ call cursor(plnum, 1)
" If the previous line is inside parenthesis, use the indent of the starting
" line.
- " Trick: use the non-existing "dummy" variable to break out of the loop when
- " going too far back.
- let parlnum = searchpair('(\|{\|\[', '', ')\|}\|\]', 'nbW',
- \ "line('.') < " . (plnum - s:maxoff) . " ? dummy :"
- \ . " synIDattr(synID(line('.'), col('.'), 1), 'name')"
- \ . " =~ '\\(Comment\\|Todo\\|String\\)$'",
- \ searchpair_stopline, searchpair_timeout)
+ let [parlnum, _] = s:SearchBracket(plnum, 'nbW')
if parlnum > 0
if a:0 > 0 && ExtraFunc(parlnum)
" We may have found the opening brace of a bitbake Python task, e.g. 'python do_task {'
@@ -85,11 +100,7 @@ function python#GetIndent(lnum, ...)
" + b
" + c)
call cursor(a:lnum, 1)
- let p = searchpair('(\|{\|\[', '', ')\|}\|\]', 'bW',
- \ "line('.') < " . (a:lnum - s:maxoff) . " ? dummy :"
- \ . " synIDattr(synID(line('.'), col('.'), 1), 'name')"
- \ . " =~ '\\(Comment\\|Todo\\|String\\)$'",
- \ searchpair_stopline, searchpair_timeout)
+ let [p, _] = s:SearchBracket(a:lnum, 'bW')
if p > 0
if a:0 > 0 && ExtraFunc(p)
" Currently only used by bitbake
@@ -109,11 +120,7 @@ function python#GetIndent(lnum, ...)
else
if p == plnum
" When the start is inside parenthesis, only indent one 'shiftwidth'.
- let pp = searchpair('(\|{\|\[', '', ')\|}\|\]', 'bW',
- \ "line('.') < " . (a:lnum - s:maxoff) . " ? dummy :"
- \ . " synIDattr(synID(line('.'), col('.'), 1), 'name')"
- \ . " =~ '\\(Comment\\|Todo\\|String\\)$'",
- \ searchpair_stopline, searchpair_timeout)
+ let [pp, _] = s:SearchBracket(a:lnum, 'bW')
if pp > 0
return indent(plnum) + (exists("g:pyindent_nested_paren") ? eval(g:pyindent_nested_paren) : shiftwidth())
endif
@@ -136,12 +143,12 @@ function python#GetIndent(lnum, ...)
" If the last character in the line is a comment, do a binary search for
" the start of the comment. synID() is slow, a linear search would take
" too long on a long line.
- if synIDattr(synID(plnum, pline_len, 1), "name") =~ "\\(Comment\\|Todo\\)$"
+ if synIDattr(synID(plnum, pline_len, 1), "name") =~ "\\(Comment\\|Todo\\)"
let min = 1
let max = pline_len
while min < max
let col = (min + max) / 2
- if synIDattr(synID(plnum, col, 1), "name") =~ "\\(Comment\\|Todo\\)$"
+ if synIDattr(synID(plnum, col, 1), "name") =~ "\\(Comment\\|Todo\\)"
let max = col
else
let min = col + 1
diff --git a/runtime/doc/api.txt b/runtime/doc/api.txt
index be42b7c14e..a388592981 100644
--- a/runtime/doc/api.txt
+++ b/runtime/doc/api.txt
@@ -1,10 +1,10 @@
-*api.txt* Nvim
+*api.txt* Nvim
- NVIM REFERENCE MANUAL by Thiago de Arruda
+ NVIM REFERENCE MANUAL by Thiago de Arruda
-Nvim API *API* *api*
+Nvim API *API* *api*
Nvim exposes a powerful API that can be used by plugins and external processes
via |RPC|, |Lua| and VimL (|eval-api|).
@@ -14,9 +14,9 @@ Applications can also embed libnvim to work with the C API directly.
Type |gO| to see the table of contents.
==============================================================================
-API Usage *api-rpc* *RPC* *rpc*
+API Usage *api-rpc* *RPC* *rpc*
- *msgpack-rpc*
+ *msgpack-rpc*
RPC is the typical way to control Nvim programmatically. Nvim implements the
MessagePack-RPC protocol:
https://github.com/msgpack-rpc/msgpack-rpc/blob/master/spec.md
@@ -32,7 +32,7 @@ other Nvim instances. API clients can:
The RPC API is like a more powerful version of Vim's "clientserver" feature.
-CONNECTING *rpc-connecting*
+CONNECTING *rpc-connecting*
See |channel-intro| for various ways to open a channel. Channel-opening
functions take an `rpc` key in the options dictionary. RPC channels can also
@@ -85,21 +85,21 @@ and |rpcnotify()|:
call jobstop(nvim)
==============================================================================
-API Definitions *api-definitions*
+API Definitions *api-definitions*
- *api-types*
+ *api-types*
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
+ API Type C type
------------------------------------------------------------------------
Nil
- Boolean bool
- Integer (signed 64-bit integer) int64_t
- Float (IEEE 754 double precision) double
- String {char* data, size_t size} struct
+ Boolean bool
+ Integer (signed 64-bit integer) int64_t
+ Float (IEEE 754 double precision) double
+ String {char* data, size_t size} struct
Array
Dictionary (msgpack: map)
Object
@@ -116,14 +116,14 @@ Special types (msgpack EXT) ~
in the |api-metadata| `types` key are stable: they will not change and are
thus forward-compatible.
- EXT Type C type Data
+ EXT Type C type Data
------------------------------------------------------------------------
- Buffer enum value kObjectTypeBuffer |bufnr()|
- Window enum value kObjectTypeWindow |window-ID|
- Tabpage enum value kObjectTypeTabpage internal handle
+ Buffer enum value kObjectTypeBuffer |bufnr()|
+ Window enum value kObjectTypeWindow |window-ID|
+ Tabpage enum value kObjectTypeTabpage internal handle
- *api-indexing*
+ *api-indexing*
Most of the API uses 0-based indices, and ranges are end-exclusive. For the
end of a range, -1 denotes the last line/column.
@@ -144,7 +144,7 @@ indices, end-inclusive):
|nvim_buf_get_extmarks()|
|nvim_buf_set_extmark()|
- *api-fast*
+ *api-fast*
Most API functions are "deferred": they are queued on the main loop and
processed sequentially with normal input. So if the editor is waiting for
user input in a "modal" fashion (e.g. the |hit-enter-prompt|), the request
@@ -153,7 +153,7 @@ will block. Non-deferred (fast) functions such as |nvim_get_mode()| and
queue). Lua code can use |vim.in_fast_event()| to detect a fast context.
==============================================================================
-API metadata *api-metadata*
+API metadata *api-metadata*
The Nvim C API is automatically exposed to RPC by the build system, which
parses headers in src/nvim/api/* and generates dispatch-functions mapping RPC
@@ -162,19 +162,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
+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
+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:
@@ -188,7 +188,7 @@ About the `functions` map:
- Global functions have the "method=false" flag and are prefixed with just
`nvim_`, e.g. `nvim_list_bufs`.
- *api-mapping*
+ *api-mapping*
External programs (clients) can use the metadata to discover the API, using
any of these approaches:
@@ -231,7 +231,7 @@ As Nvim evolves the API may change in compliance with this CONTRACT:
- Deprecated functions will not be removed until Nvim version 2.0
==============================================================================
-Global events *api-global-events*
+Global events *api-global-events*
When a client invokes an API request as an async notification, it is not
possible for Nvim to send an error response. Instead, in case of error, the
@@ -244,7 +244,7 @@ nvim_error_event[{type}, {message}]
a string with the error message.
==============================================================================
-Buffer update events *api-buffer-updates*
+Buffer update events *api-buffer-updates*
API clients can "attach" to Nvim buffers to subscribe to buffer update events.
This is similar to |TextChanged| but more powerful and granular.
@@ -254,89 +254,90 @@ Call |nvim_buf_attach()| to receive these events on the channel:
*nvim_buf_lines_event*
nvim_buf_lines_event[{buf}, {changedtick}, {firstline}, {lastline}, {linedata}, {more}]
- When the buffer text between {firstline} and {lastline} (end-exclusive,
- zero-indexed) were changed to the new text in the {linedata} list. The
- granularity is a line, i.e. if a single character is changed in the editor,
- the entire line is sent.
+ When the buffer text between {firstline} and {lastline} (end-exclusive,
+ zero-indexed) were changed to the new text in the {linedata} list. The
+ granularity is a line, i.e. if a single character is changed in the
+ editor, the entire line is sent.
- When {changedtick} is |v:null| this means the screen lines (display) changed
- but not the buffer contents. {linedata} contains the changed screen lines.
- This happens when 'inccommand' shows a buffer preview.
+ When {changedtick} is |v:null| this means the screen lines (display)
+ changed but not the buffer contents. {linedata} contains the changed
+ screen lines. This happens when 'inccommand' shows a buffer preview.
- Properties:~
- {buf} API buffer handle (buffer number)
+ Properties:~
+ {buf} API buffer handle (buffer number)
- {changedtick} value of |b:changedtick| for the buffer. If you send an API
- command back to nvim you can check the value of |b:changedtick| as part of
- your request to ensure that no other changes have been made.
+ {changedtick} value of |b:changedtick| for the buffer. If you send an
+ API command back to nvim you can check the value of |b:changedtick| as
+ part of your request to ensure that no other changes have been made.
- {firstline} integer line number of the first line that was replaced.
- Zero-indexed: if line 1 was replaced then {firstline} will be 0, not 1.
- {firstline} is always less than or equal to the number of lines that were
- in the buffer before the lines were replaced.
+ {firstline} integer line number of the first line that was replaced.
+ Zero-indexed: if line 1 was replaced then {firstline} will be 0, not
+ 1. {firstline} is always less than or equal to the number of lines
+ that were in the buffer before the lines were replaced.
- {lastline} integer line number of the first line that was not replaced
- (i.e. the range {firstline}, {lastline} is end-exclusive).
- Zero-indexed: if line numbers 2 to 5 were replaced, this will be 5 instead
- of 6. {lastline} is always be less than or equal to the number of lines
- that were in the buffer before the lines were replaced. {lastline} will be
- -1 if the event is part of the initial update after attaching.
+ {lastline} integer line number of the first line that was not replaced
+ (i.e. the range {firstline}, {lastline} is end-exclusive).
+ Zero-indexed: if line numbers 2 to 5 were replaced, this will be 5
+ instead of 6. {lastline} is always be less than or equal to the number
+ of lines that were in the buffer before the lines were replaced.
+ {lastline} will be -1 if the event is part of the initial update after
+ attaching.
- {linedata} list of strings containing the contents of the new buffer
- lines. Newline characters are omitted; empty lines are sent as empty
- strings.
+ {linedata} list of strings containing the contents of the new buffer
+ lines. Newline characters are omitted; empty lines are sent as empty
+ strings.
- {more} boolean, true for a "multipart" change notification: the current
- change was chunked into multiple |nvim_buf_lines_event| notifications
- (e.g. because it was too big).
+ {more} boolean, true for a "multipart" change notification: the
+ current change was chunked into multiple |nvim_buf_lines_event|
+ notifications (e.g. because it was too big).
nvim_buf_changedtick_event[{buf}, {changedtick}] *nvim_buf_changedtick_event*
- When |b:changedtick| was incremented but no text was changed. Relevant for
- undo/redo.
+ When |b:changedtick| was incremented but no text was changed. Relevant for
+ undo/redo.
- Properties:~
- {buf} API buffer handle (buffer number)
- {changedtick} new value of |b:changedtick| for the buffer
+ Properties:~
+ {buf} API buffer handle (buffer number)
+ {changedtick} new value of |b:changedtick| for the buffer
nvim_buf_detach_event[{buf}] *nvim_buf_detach_event*
- When buffer is detached (i.e. updates are disabled). Triggered explicitly by
- |nvim_buf_detach()| or implicitly in these cases:
- - Buffer was |abandon|ed and 'hidden' is not set.
- - Buffer was reloaded, e.g. with |:edit| or an external change triggered
- |:checktime| or 'autoread'.
- - Generally: whenever the buffer contents are unloaded from memory.
+ When buffer is detached (i.e. updates are disabled). Triggered explicitly by
+ |nvim_buf_detach()| or implicitly in these cases:
+ - Buffer was |abandon|ed and 'hidden' is not set.
+ - Buffer was reloaded, e.g. with |:edit| or an external change triggered
+ |:checktime| or 'autoread'.
+ - Generally: whenever the buffer contents are unloaded from memory.
- Properties:~
- {buf} API buffer handle (buffer number)
+ Properties:~
+ {buf} API buffer handle (buffer number)
EXAMPLE ~
Calling |nvim_buf_attach()| with send_buffer=true on an empty buffer, emits: >
- nvim_buf_lines_event[{buf}, {changedtick}, 0, -1, [""], v:false]
+ nvim_buf_lines_event[{buf}, {changedtick}, 0, -1, [""], v:false]
User adds two lines to the buffer, emits: >
- nvim_buf_lines_event[{buf}, {changedtick}, 0, 0, ["line1", "line2"], v:false]
+ nvim_buf_lines_event[{buf}, {changedtick}, 0, 0, ["line1", "line2"], v:false]
User moves to a line containing the text "Hello world" and inserts "!", emits: >
- nvim_buf_lines_event[{buf}, {changedtick}, {linenr}, {linenr} + 1,
- ["Hello world!"], v:false]
+ nvim_buf_lines_event[{buf}, {changedtick}, {linenr}, {linenr} + 1,
+ ["Hello world!"], v:false]
User moves to line 3 and deletes 20 lines using "20dd", emits: >
- nvim_buf_lines_event[{buf}, {changedtick}, 2, 22, [], v:false]
+ nvim_buf_lines_event[{buf}, {changedtick}, 2, 22, [], v:false]
User selects lines 3-5 using |linewise-visual| mode and then types "p" to
paste a block of 6 lines, emits: >
- nvim_buf_lines_event[{buf}, {changedtick}, 2, 5,
- ['pasted line 1', 'pasted line 2', 'pasted line 3', 'pasted line 4',
- 'pasted line 5', 'pasted line 6'],
- v:false
- ]
+ nvim_buf_lines_event[{buf}, {changedtick}, 2, 5,
+ ['pasted line 1', 'pasted line 2', 'pasted line 3', 'pasted line 4',
+ 'pasted line 5', 'pasted line 6'],
+ v:false
+ ]
User reloads the buffer with ":edit", emits: >
- nvim_buf_detach_event[{buf}]
+ nvim_buf_detach_event[{buf}]
<
LUA ~
@@ -369,7 +370,7 @@ callbacks attached with the same |nvim_buf_attach()| call.
==============================================================================
-Buffer highlighting *api-highlights*
+Buffer highlighting *api-highlights*
Nvim allows plugins to add position-based highlights to buffers. This is
similar to |matchaddpos()| but with some key differences. The added highlights
@@ -413,7 +414,7 @@ Example using the API from Vimscript: >
==============================================================================
-Floating windows *api-floatwin*
+Floating windows *api-floatwin*
Floating windows ("floats") are displayed on top of normal windows. This is
useful to implement simple widgets, such as tooltips displayed next to the
@@ -457,7 +458,7 @@ Example: create a float with scratch buffer: >
>
==============================================================================
-Extended marks *api-extended-marks* *extmarks*
+Extended marks *api-extended-marks* *extmarks*
Extended marks (extmarks) represent buffer annotations that track text changes
in the buffer. They can represent cursors, folds, misspelled words, anything
@@ -537,1025 +538,961 @@ created for extmark changes.
Global Functions *api-global*
nvim__get_runtime({pat}, {all}, {*opts}) *nvim__get_runtime()*
- Find files in runtime directories
+ Find files in runtime directories
- Attributes: ~
- |api-fast|
+ Attributes: ~
+ |api-fast|
- Parameters: ~
- {pat} pattern of files to search for
- {all} whether to return all matches or only the first
- {opts} is_lua: only search lua subdirs
+ Parameters: ~
+ {pat} pattern of files to search for
+ {all} whether to return all matches or only the first
+ {opts} is_lua: only search lua subdirs
- Return: ~
- list of absolute paths to the found files
+ Return: ~
+ list of absolute paths to the found files
nvim__id({obj}) *nvim__id()*
- Returns object given as argument.
+ Returns object given as argument.
- This API function is used for testing. One should not rely on
- its presence in plugins.
+ This API function is used for testing. One should not rely on its presence
+ in plugins.
- Parameters: ~
- {obj} Object to return.
+ Parameters: ~
+ {obj} Object to return.
- Return: ~
- its argument.
+ Return: ~
+ its argument.
nvim__id_array({arr}) *nvim__id_array()*
- Returns array given as argument.
+ Returns array given as argument.
- This API function is used for testing. One should not rely on
- its presence in plugins.
+ This API function is used for testing. One should not rely on its presence
+ in plugins.
- Parameters: ~
- {arr} Array to return.
+ Parameters: ~
+ {arr} Array to return.
- Return: ~
- its argument.
+ Return: ~
+ its argument.
nvim__id_dictionary({dct}) *nvim__id_dictionary()*
- Returns dictionary given as argument.
+ Returns dictionary given as argument.
- This API function is used for testing. One should not rely on
- its presence in plugins.
+ This API function is used for testing. One should not rely on its presence
+ in plugins.
- Parameters: ~
- {dct} Dictionary to return.
+ Parameters: ~
+ {dct} Dictionary to return.
- Return: ~
- its argument.
+ Return: ~
+ its argument.
nvim__id_float({flt}) *nvim__id_float()*
- Returns floating-point value given as argument.
+ Returns floating-point value given as argument.
- This API function is used for testing. One should not rely on
- its presence in plugins.
+ This API function is used for testing. One should not rely on its presence
+ in plugins.
- Parameters: ~
- {flt} Value to return.
+ Parameters: ~
+ {flt} Value to return.
- Return: ~
- its argument.
+ Return: ~
+ its argument.
nvim__inspect_cell({grid}, {row}, {col}) *nvim__inspect_cell()*
- NB: if your UI doesn't use hlstate, this will not return
- hlstate first time.
-
-nvim__set_hl_ns({ns_id}) *nvim__set_hl_ns()*
- Set active namespace for highlights.
-
- NB: this function can be called from async contexts, but the
- semantics are not yet well-defined. To start with
- |nvim_set_decoration_provider| on_win and on_line callbacks
- are explicitly allowed to change the namespace during a redraw
- cycle.
-
- Attributes: ~
- |api-fast|
-
- Parameters: ~
- {ns_id} the namespace to activate
+ NB: if your UI doesn't use hlstate, this will not return hlstate first
+ time.
nvim__stats() *nvim__stats()*
- Gets internal stats.
+ Gets internal stats.
- Return: ~
- Map of various internal stats.
+ Return: ~
+ Map of various internal stats.
nvim_call_atomic({calls}) *nvim_call_atomic()*
- Calls many API methods atomically.
-
- This has two main usages:
- 1. To perform several requests from an async context
- atomically, i.e. without interleaving redraws, RPC requests
- from other clients, or user interactions (however API
- methods may trigger autocommands or event processing which
- have such side effects, e.g. |:sleep| may wake timers).
- 2. To minimize RPC overhead (roundtrips) of a sequence of many
- requests.
-