mirror of
https://github.com/neovim/neovim.git
synced 2024-12-19 18:55:14 -07:00
doc #10017
- gen_vimdoc.py: fancy "bullet" - rework `:help channel-callback` - rename `:help buffered` to `:help channel-buffered`
This commit is contained in:
parent
d51f132cb1
commit
4769deb36a
@ -670,38 +670,39 @@ nvim_open_win({buffer}, {enter}, {config}) *nvim_open_win()*
|
||||
current window)
|
||||
{config} Dictionary for the window configuration accepts
|
||||
these keys:
|
||||
- `relative` : If set, the window becomes a floating
|
||||
• `relative` : If set, the window becomes a floating
|
||||
window. The window will be placed with row,col
|
||||
coordinates relative to one of the following:
|
||||
- "editor" the global editor grid
|
||||
- "win" a window. Use `win` to specify a
|
||||
• "editor" the global editor grid
|
||||
• "win" a window. Use `win` to specify a
|
||||
window id, or the current window will be
|
||||
used by default. "cursor" the cursor
|
||||
position in current window.
|
||||
used by default.
|
||||
• "cursor" the cursor position in current
|
||||
window.
|
||||
|
||||
- `win` : When using relative='win', window id
|
||||
• `win` : When using relative='win', window id
|
||||
of the window where the position is defined.
|
||||
- `anchor` : The corner of the float that the row,col
|
||||
• `anchor` : The corner of the float that the row,col
|
||||
position defines:
|
||||
- "NW" north-west (default)
|
||||
- "NE" north-east
|
||||
- "SW" south-west
|
||||
- "SE" south-east
|
||||
• "NW" north-west (default)
|
||||
• "NE" north-east
|
||||
• "SW" south-west
|
||||
• "SE" south-east
|
||||
|
||||
- `height` : window height (in character cells).
|
||||
• `height` : window height (in character cells).
|
||||
Minimum of 1.
|
||||
- `width` : window width (in character cells).
|
||||
• `width` : window width (in character cells).
|
||||
Minimum of 1.
|
||||
- `row` : row position. Screen cell height are
|
||||
• `row` : row position. Screen cell height are
|
||||
used as unit. Can be floating point.
|
||||
- `col` : column position. Screen cell width is
|
||||
• `col` : column position. Screen cell width is
|
||||
used as unit. Can be floating point.
|
||||
- `focusable` : Whether window can be focused by
|
||||
• `focusable` : Whether window can be focused by
|
||||
wincmds and mouse events. Defaults to true.
|
||||
Even if set to false, the window can still be
|
||||
entered using |nvim_set_current_win()| API
|
||||
call.
|
||||
- `external` : GUI should display the window as
|
||||
• `external` : GUI should display the window as
|
||||
an external top-level window. Currently
|
||||
accepts no other positioning configuration
|
||||
together with this.
|
||||
@ -869,35 +870,43 @@ nvim_get_api_info() *nvim_get_api_info()*
|
||||
*nvim_set_client_info()*
|
||||
nvim_set_client_info({name}, {version}, {type}, {methods},
|
||||
{attributes})
|
||||
Identifies the client. Can be called more than once;
|
||||
subsequent calls remove earlier info, which should be included
|
||||
by the caller if it is still valid. (E.g. if a library first
|
||||
identifies the channel, then a plugin using that library later
|
||||
overrides that info)
|
||||
Self-identifies the client.
|
||||
|
||||
The client/plugin/application should call this after
|
||||
connecting, to provide hints about its identity and purpose,
|
||||
for debugging and orchestration.
|
||||
|
||||
Can be called more than once; the caller should merge old info
|
||||
if appropriate. Example: library first identifies the channel,
|
||||
then a plugin using that library later identifies itself.
|
||||
|
||||
Note:
|
||||
"Something is better than nothing". You don't need to
|
||||
include all the fields.
|
||||
|
||||
Parameters: ~
|
||||
{name} Short name for the connected client
|
||||
{version} Dictionary describing the version, with
|
||||
these (optional) keys:
|
||||
- "major" major version (defaults to 0 if
|
||||
• "major" major version (defaults to 0 if
|
||||
not set, for no release yet)
|
||||
- "minor" minor version
|
||||
- "patch" patch number
|
||||
- "prerelease" string describing a
|
||||
• "minor" minor version
|
||||
• "patch" patch number
|
||||
• "prerelease" string describing a
|
||||
prerelease, like "dev" or "beta1"
|
||||
- "commit" hash or similar identifier of
|
||||
• "commit" hash or similar identifier of
|
||||
commit
|
||||
{type} Must be one of the following values. Client
|
||||
libraries should default to "remote" unless
|
||||
overridden by the user.
|
||||
- "remote" remote client connected to Nvim.
|
||||
- "ui" gui frontend
|
||||
- "embedder" application using Nvim as a
|
||||
• "remote" remote client connected to Nvim.
|
||||
• "ui" gui frontend
|
||||
• "embedder" application using Nvim as a
|
||||
component (for example, IDE/editor
|
||||
implementing a vim mode).
|
||||
- "host" plugin host, typically started by
|
||||
• "host" plugin host, typically started by
|
||||
nvim
|
||||
- "plugin" single plugin, started by nvim
|
||||
• "plugin" single plugin, started by nvim
|
||||
{methods} Builtin methods in the client. For a host,
|
||||
this does not include plugin methods which
|
||||
will be discovered later. The key should be
|
||||
@ -907,19 +916,19 @@ nvim_set_client_info({name}, {version}, {type}, {methods},
|
||||
unknown keys are ignored. Clients must only
|
||||
use keys defined in this or later versions
|
||||
of Nvim):
|
||||
- "async" if true, send as a notification.
|
||||
• "async" if true, send as a notification.
|
||||
If false or unspecified, use a blocking
|
||||
request
|
||||
- "nargs" Number of arguments. Could be a
|
||||
• "nargs" Number of arguments. Could be a
|
||||
single integer or an array of two
|
||||
integers, minimum and maximum inclusive.
|
||||
{attributes} Arbitrary string:string map of informal
|
||||
client properties. Suggested keys:
|
||||
- "website": Client homepage URL (e.g.
|
||||
• "website": Client homepage URL (e.g.
|
||||
GitHub repository)
|
||||
- "license": License description ("Apache
|
||||
• "license": License description ("Apache
|
||||
2", "GPLv3", "MIT", …)
|
||||
- "logo": URI or path to image, preferably
|
||||
• "logo": URI or path to image, preferably
|
||||
small logo or icon. .png or .svg format is
|
||||
preferred.
|
||||
|
||||
@ -928,26 +937,26 @@ nvim_get_chan_info({chan}) *nvim_get_chan_info()*
|
||||
|
||||
Return: ~
|
||||
Dictionary describing a channel, with these keys:
|
||||
- "stream" the stream underlying the channel
|
||||
- "stdio" stdin and stdout of this Nvim instance
|
||||
- "stderr" stderr of this Nvim instance
|
||||
- "socket" TCP/IP socket or named pipe
|
||||
- "job" job with communication over its stdio
|
||||
• "stream" the stream underlying the channel
|
||||
• "stdio" stdin and stdout of this Nvim instance
|
||||
• "stderr" stderr of this Nvim instance
|
||||
• "socket" TCP/IP socket or named pipe
|
||||
• "job" job with communication over its stdio
|
||||
|
||||
- "mode" how data received on the channel is interpreted
|
||||
- "bytes" send and receive raw bytes
|
||||
- "terminal" a |terminal| instance interprets ASCII
|
||||
• "mode" how data received on the channel is interpreted
|
||||
• "bytes" send and receive raw bytes
|
||||
• "terminal" a |terminal| instance interprets ASCII
|
||||
sequences
|
||||
- "rpc" |RPC| communication on the channel is active
|
||||
• "rpc" |RPC| communication on the channel is active
|
||||
|
||||
- "pty" Name of pseudoterminal, if one is used (optional).
|
||||
• "pty" Name of pseudoterminal, if one is used (optional).
|
||||
On a POSIX system, this will be a device path like
|
||||
/dev/pts/1. Even if the name is unknown, the key will
|
||||
still be present to indicate a pty is used. This is
|
||||
currently the case when using winpty on windows.
|
||||
- "buffer" buffer with connected |terminal| instance
|
||||
• "buffer" buffer with connected |terminal| instance
|
||||
(optional)
|
||||
- "client" information about the client on the other end
|
||||
• "client" information about the client on the other end
|
||||
of the RPC channel, if it has added it using
|
||||
|nvim_set_client_info()|. (optional)
|
||||
|
||||
@ -995,21 +1004,21 @@ nvim_parse_expression({expr}, {flags}, {highlight})
|
||||
{expr} Expression to parse. Always treated as a
|
||||
single line.
|
||||
{flags} Flags:
|
||||
- "m" if multiple expressions in a row are
|
||||
• "m" if multiple expressions in a row are
|
||||
allowed (only the first one will be
|
||||
parsed),
|
||||
- "E" if EOC tokens are not allowed
|
||||
• "E" if EOC tokens are not allowed
|
||||
(determines whether they will stop parsing
|
||||
process or be recognized as an
|
||||
operator/space, though also yielding an
|
||||
error).
|
||||
- "l" when needing to start parsing with
|
||||
• "l" when needing to start parsing with
|
||||
lvalues for ":let" or ":for". Common flag
|
||||
sets:
|
||||
- "m" to parse like for ":echo".
|
||||
- "E" to parse like for "<C-r>=".
|
||||
- empty string for ":call".
|
||||
- "lm" to parse for ":let".
|
||||
• "m" to parse like for ":echo".
|
||||
• "E" to parse like for "<C-r>=".
|
||||
• empty string for ":call".
|
||||
• "lm" to parse for ":let".
|
||||
{highlight} If true, return value will also include
|
||||
"highlight" key containing array of 4-tuples
|
||||
(arrays) (Integer, Integer, Integer, String),
|
||||
@ -1021,64 +1030,64 @@ nvim_parse_expression({expr}, {flags}, {highlight})
|
||||
|
||||
Return: ~
|
||||
|
||||
- AST: top-level dictionary with these keys:
|
||||
- "error": Dictionary with error, present only if parser
|
||||
• AST: top-level dictionary with these keys:
|
||||
• "error": Dictionary with error, present only if parser
|
||||
saw some error. Contains the following keys:
|
||||
- "message": String, error message in printf format,
|
||||
• "message": String, error message in printf format,
|
||||
translated. Must contain exactly one "%.*s".
|
||||
- "arg": String, error message argument.
|
||||
• "arg": String, error message argument.
|
||||
|
||||
- "len": Amount of bytes successfully parsed. With flags
|
||||
• "len": Amount of bytes successfully parsed. With flags
|
||||
equal to "" that should be equal to the length of expr
|
||||
string. (“Sucessfully parsed” here means “participated
|
||||
in AST creation”, not “till the first error”.)
|
||||
- "ast": AST, either nil or a dictionary with these
|
||||
• "ast": AST, either nil or a dictionary with these
|
||||
keys:
|
||||
- "type": node type, one of the value names from
|
||||
• "type": node type, one of the value names from
|
||||
ExprASTNodeType stringified without "kExprNode"
|
||||
prefix.
|
||||
- "start": a pair [line, column] describing where node
|
||||
• "start": a pair [line, column] describing where node
|
||||
is "started" where "line" is always 0 (will not be 0
|
||||
if you will be using nvim_parse_viml() on e.g.
|
||||
":let", but that is not present yet). Both elements
|
||||
are Integers.
|
||||
- "len": “length” of the node. This and "start" are
|
||||
• "len": “length” of the node. This and "start" are
|
||||
there for debugging purposes primary (debugging
|
||||
parser and providing debug information).
|
||||
- "children": a list of nodes described in top/"ast".
|
||||
• "children": a list of nodes described in top/"ast".
|
||||
There always is zero, one or two children, key will
|
||||
not be present if node has no children. Maximum
|
||||
number of children may be found in node_maxchildren
|
||||
array.
|
||||
|
||||
- Local values (present only for certain nodes):
|
||||
- "scope": a single Integer, specifies scope for
|
||||
• Local values (present only for certain nodes):
|
||||
• "scope": a single Integer, specifies scope for
|
||||
"Option" and "PlainIdentifier" nodes. For "Option" it
|
||||
is one of ExprOptScope values, for "PlainIdentifier"
|
||||
it is one of ExprVarScope values.
|
||||
- "ident": identifier (without scope, if any), present
|
||||
• "ident": identifier (without scope, if any), present
|
||||
for "Option", "PlainIdentifier", "PlainKey" and
|
||||
"Environment" nodes.
|
||||
- "name": Integer, register name (one character) or -1.
|
||||
• "name": Integer, register name (one character) or -1.
|
||||
Only present for "Register" nodes.
|
||||
- "cmp_type": String, comparison type, one of the value
|
||||
• "cmp_type": String, comparison type, one of the value
|
||||
names from ExprComparisonType, stringified without
|
||||
"kExprCmp" prefix. Only present for "Comparison"
|
||||
nodes.
|
||||
- "ccs_strategy": String, case comparison strategy, one
|
||||
• "ccs_strategy": String, case comparison strategy, one
|
||||
of the value names from ExprCaseCompareStrategy,
|
||||
stringified without "kCCStrategy" prefix. Only present
|
||||
for "Comparison" nodes.
|
||||
- "augmentation": String, augmentation type for
|
||||
• "augmentation": String, augmentation type for
|
||||
"Assignment" nodes. Is either an empty string, "Add",
|
||||
"Subtract" or "Concat" for "=", "+=", "-=" or ".="
|
||||
respectively.
|
||||
- "invert": Boolean, true if result of comparison needs
|
||||
• "invert": Boolean, true if result of comparison needs
|
||||
to be inverted. Only present for "Comparison" nodes.
|
||||
- "ivalue": Integer, integer value for "Integer" nodes.
|
||||
- "fvalue": Float, floating-point value for "Float"
|
||||
• "ivalue": Integer, integer value for "Integer" nodes.
|
||||
• "fvalue": Float, floating-point value for "Float"
|
||||
nodes.
|
||||
- "svalue": String, value for "SingleQuotedString" and
|
||||
• "svalue": String, value for "SingleQuotedString" and
|
||||
"DoubleQuotedString" nodes.
|
||||
|
||||
nvim__id({obj}) *nvim__id()*
|
||||
@ -1140,12 +1149,12 @@ nvim_list_uis() *nvim_list_uis()*
|
||||
|
||||
Return: ~
|
||||
Array of UI dictionaries, each with these keys:
|
||||
- "height" Requested height of the UI
|
||||
- "width" Requested width of the UI
|
||||
- "rgb" true if the UI uses RGB colors (false implies
|
||||
• "height" Requested height of the UI
|
||||
• "width" Requested width of the UI
|
||||
• "rgb" true if the UI uses RGB colors (false implies
|
||||
|cterm-colors|)
|
||||
- "ext_..." Requested UI extensions, see |ui-option|
|
||||
- "chan" Channel id of remote UI (not present for TUI)
|
||||
• "ext_..." Requested UI extensions, see |ui-option|
|
||||
• "chan" Channel id of remote UI (not present for TUI)
|
||||
|
||||
nvim_get_proc_children({pid}) *nvim_get_proc_children()*
|
||||
Gets the immediate children of process `pid` .
|
||||
|
@ -47,27 +47,23 @@ By default, channels opened by vimscript functions will operate with raw
|
||||
bytes. Additionally, for a job channel using rpc, bytes can still be
|
||||
read over its stderr. Similarily, only bytes can be written to nvim's own stderr.
|
||||
|
||||
*channel-callback* *buffered*
|
||||
*E5210* *on_stdout* *on_stderr* *on_stdin* *on_data*
|
||||
It is possible to register callback functions when a channel receives data by
|
||||
passing the `on_stdout`, `on_stderr`, `on_stdin` options on creation. Sockets
|
||||
may specify an `on_data` callback instead. Each callback function will be
|
||||
invoked with data read from the channel. By default, the callback will be
|
||||
invoked immediately when data is available, to facilitate interactive
|
||||
communication. The same callback will then be invoked with empty data, to
|
||||
indicate that the stream reached EOF. Alternatively the `stdout_buffered`,
|
||||
`stderr_buffered`, `stdin_buffered`, `data_buffered` options can be set to
|
||||
invoke the corresponding callback only when the underlying stream reaches EOF.
|
||||
The callback will then be passed complete output. This is helpful when only
|
||||
the complete output is useful, and not partial data. Futhermore if the stream
|
||||
is set to be buffered, but the callback is not set, the data is saved in the
|
||||
options dict, with the stream name as key. For this to work a new options dict
|
||||
must be used for each opened channel. If a script uses a global `s:job_opts`
|
||||
dict, it can be copied with |copy()| before supplying it to |jobstart()|. If a
|
||||
dict is reused, so that the dict key already is occupied, error `E5210` will
|
||||
be raised.
|
||||
*channel-callback* *on_stdout* *on_stderr* *on_stdin* *on_data*
|
||||
Scripts can react to channel activity (received data) via callback functions
|
||||
assigned to the `on_stdout`, `on_stderr`, `on_stdin`, and `on_data` options.
|
||||
Callbacks should be fast, avoid potentially slow/expensive work.
|
||||
|
||||
- The arguments passed to the callback function are:
|
||||
*channel-buffered*
|
||||
By default the callback is invoked immediately as data is available; empty
|
||||
data indicates EOF (stream closed). Alternatively, set the `stdout_buffered`,
|
||||
`stderr_buffered`, `stdin_buffered`, or `data_buffered` options to invoke the
|
||||
callback only on EOF, after all output was gathered.
|
||||
*E5210*
|
||||
If the stream is set as buffered without assigning a callback, the data is
|
||||
saved in the options dict with the stream name as key. This requires a new
|
||||
options dict for each opened channel (|copy()|). If the stream name key
|
||||
is already set, error E5210 is raised.
|
||||
|
||||
Channel callback functions accept these arguments:
|
||||
|
||||
0: |channel-id|
|
||||
1: Raw data read from the channel, formatted as a |readfile()|-style
|
||||
|
@ -1099,8 +1099,8 @@ in the command-line window, like this: >
|
||||
Note that hitting <Tab> in Normal mode will do completion on the next
|
||||
character. That way it works at the end of the line.
|
||||
If you don't want these mappings, disable them with: >
|
||||
au CmdwinEnter [:>] iunmap <Tab>
|
||||
au CmdwinEnter [:>] nunmap <Tab>
|
||||
au CmdwinEnter [:>] iunmap <buffer> <Tab>
|
||||
au CmdwinEnter [:>] nunmap <buffer> <Tab>
|
||||
You could put these lines in your vimrc file.
|
||||
|
||||
While in the command-line window you cannot use the mouse to put the cursor in
|
||||
|
@ -10789,44 +10789,7 @@ code can be used: >
|
||||
unlet scriptnames_output
|
||||
|
||||
==============================================================================
|
||||
10. No +eval feature *no-eval-feature*
|
||||
|
||||
When the |+eval| feature was disabled at compile time, none of the expression
|
||||
evaluation commands are available. To prevent this from causing Vim scripts
|
||||
to generate all kinds of errors, the ":if" and ":endif" commands are still
|
||||
recognized, though the argument of the ":if" and everything between the ":if"
|
||||
and the matching ":endif" is ignored. Nesting of ":if" blocks is allowed, but
|
||||
only if the commands are at the start of the line. The ":else" command is not
|
||||
recognized.
|
||||
|
||||
Example of how to avoid executing commands when the |+eval| feature is
|
||||
missing: >
|
||||
|
||||
:if 1
|
||||
: echo "Expression evaluation is compiled in"
|
||||
:else
|
||||
: echo "You will _never_ see this message"
|
||||
:endif
|
||||
|
||||
To execute a command only when the |+eval| feature is disabled requires a trick,
|
||||
as this example shows: >
|
||||
|
||||
silent! while 0
|
||||
set history=111
|
||||
silent! endwhile
|
||||
|
||||
When the |+eval| feature is available the command is skipped because of the
|
||||
"while 0". Without the |+eval| feature the "while 0" is an error, which is
|
||||
silently ignored, and the command is executed.
|
||||
|
||||
The "<CR>" here is a real CR character, type CTRL-V Enter to get it.
|
||||
|
||||
When the |+eval| feature is available the ":" is remapped to add a double
|
||||
quote, which has the effect of commenting-out the command. Without the
|
||||
|+eval| feature the nnoremap command is skipped and the command is executed.
|
||||
|
||||
==============================================================================
|
||||
11. The sandbox *eval-sandbox* *sandbox* *E48*
|
||||
The sandbox *eval-sandbox* *sandbox* *E48*
|
||||
|
||||
The 'foldexpr', 'formatexpr', 'includeexpr', 'indentexpr', 'statusline' and
|
||||
'foldtext' options may be evaluated in a sandbox. This means that you are
|
||||
@ -10865,7 +10828,7 @@ Note that when in the sandbox and saving an option value and restoring it, the
|
||||
option will still be marked as it was set in the sandbox.
|
||||
|
||||
==============================================================================
|
||||
12. Textlock *textlock*
|
||||
Textlock *textlock*
|
||||
|
||||
In a few situations it is not allowed to change the text in the buffer, jump
|
||||
to another window and some other things that might confuse or break what Vim
|
||||
@ -10881,7 +10844,7 @@ This is not allowed when the textlock is active:
|
||||
- etc.
|
||||
|
||||
==============================================================================
|
||||
13. Command-line expressions highlighting *expr-highlight*
|
||||
Command-line expressions highlighting *expr-highlight*
|
||||
|
||||
Expressions entered by the user in |i_CTRL-R_=|, |c_CTRL-\_e|, |quote=| are
|
||||
highlighted by the built-in expressions parser. It uses highlight groups
|
||||
|
@ -491,9 +491,9 @@ tbl_extend({behavior}, {...}) *vim.tbl_extend()*
|
||||
Parameters: ~
|
||||
{behavior} Decides what to do if a key is found in more
|
||||
than one map:
|
||||
- "error": raise an error
|
||||
- "keep": use value from the leftmost map
|
||||
- "force": use value from the rightmost map
|
||||
• "error": raise an error
|
||||
• "keep": use value from the leftmost map
|
||||
• "force": use value from the rightmost map
|
||||
{...} Two or more map-like tables.
|
||||
|
||||
See also: ~
|
||||
@ -510,7 +510,7 @@ tbl_flatten({t}) *vim.tbl_flatten()*
|
||||
Flattened copy of the given list-like table.
|
||||
|
||||
trim({s}) *vim.trim()*
|
||||
Trim whitespace (Lua pattern "%%s") from both sides of a
|
||||
Trim whitespace (Lua pattern "%s") from both sides of a
|
||||
string.
|
||||
|
||||
Parameters: ~
|
||||
|
@ -51,7 +51,7 @@ There are three ways to obtain API metadata:
|
||||
3. Use the |api_info()| vimscript function.
|
||||
|
||||
To get a human-readable list of API functions: >
|
||||
:new|put =map(api_info().functions, 'v:val.name')
|
||||
:new|put =map(filter(api_info().functions, '!has_key(v:val,''deprecated_since'')'), 'v:val.name')
|
||||
<
|
||||
To get a formatted dump of the API using python (requires the `pyyaml` and
|
||||
`msgpack-python` packages): >
|
||||
|
@ -470,17 +470,18 @@ gO Show a filetype-specific, navigable "outline" of the
|
||||
Currently works in |help| and |:Man| buffers.
|
||||
|
||||
[N]gs *gs* *:sl* *:sleep*
|
||||
:[N]sl[eep] [N] [m] Do nothing for [N] seconds. When [m] is included,
|
||||
sleep for [N] milliseconds. The count for "gs" always
|
||||
uses seconds. The default is one second. >
|
||||
:[N]sl[eep] [N] [m] Do nothing for [N] seconds, or [N] milliseconds if [m]
|
||||
was given. "gs" always uses seconds.
|
||||
Default is one second. >
|
||||
:sleep "sleep for one second
|
||||
:5sleep "sleep for five seconds
|
||||
:sleep 100m "sleep for a hundred milliseconds
|
||||
10gs "sleep for ten seconds
|
||||
< Can be interrupted with CTRL-C (CTRL-Break on Windows).
|
||||
< Can be interrupted with CTRL-C.
|
||||
"gs" stands for "goto sleep".
|
||||
While sleeping the cursor is positioned in the text,
|
||||
if at a visible position.
|
||||
Queued messages are processed during the sleep.
|
||||
|
||||
==============================================================================
|
||||
2. Using Vim like less or more *less*
|
||||
|
@ -168,7 +168,7 @@ local function tbl_flatten(t)
|
||||
return result
|
||||
end
|
||||
|
||||
--- Trim whitespace (Lua pattern "%%s") from both sides of a string.
|
||||
--- Trim whitespace (Lua pattern "%s") from both sides of a string.
|
||||
---
|
||||
--@see https://www.lua.org/pil/20.2.html
|
||||
--@param s String to trim
|
||||
|
@ -325,7 +325,7 @@ def render_node(n, text, prefix='', indent='', width=62):
|
||||
text = doc_wrap(text, indent=indent, width=width)
|
||||
elif n.nodeName == 'itemizedlist':
|
||||
for c in n.childNodes:
|
||||
text += '{}\n'.format(render_node(c, text, prefix='- ',
|
||||
text += '{}\n'.format(render_node(c, text, prefix='• ',
|
||||
indent=indent, width=width))
|
||||
elif n.nodeName == 'orderedlist':
|
||||
i = 1
|
||||
|
@ -478,12 +478,14 @@ function TLua2DoX_filter.readfile(this,AppStamp,Filename)
|
||||
outStream:writelnTail('// #######################')
|
||||
outStream:writelnTail()
|
||||
|
||||
local state = ''
|
||||
while not (err or inStream:eof()) do
|
||||
line = string_trim(inStream:getLine())
|
||||
-- TCore_Debug_show_var('inStream',inStream)
|
||||
-- TCore_Debug_show_var('line',line )
|
||||
if string.sub(line,1,2)=='--' then -- its a comment
|
||||
if string.sub(line,1,2)=='--' then -- it's a comment
|
||||
if string.sub(line,3,3)=='@' then -- it's a magic comment
|
||||
state = 'in_magic_comment'
|
||||
local magic = string.sub(line,4)
|
||||
outStream:writeln('/// @' .. magic)
|
||||
fn_magic = checkComment4fn(fn_magic,magic)
|
||||
@ -517,12 +519,16 @@ function TLua2DoX_filter.readfile(this,AppStamp,Filename)
|
||||
outStream:write('/* zz:' .. comment .. '*/ ')
|
||||
fn_magic = nil
|
||||
end
|
||||
else
|
||||
-- TODO(justinmk): Uncomment this if we want "--" lines to continue the
|
||||
-- preceding magic ("---", "--@", …) lines.
|
||||
-- elseif state == 'in_magic_comment' then -- next line of magic comment
|
||||
-- outStream:writeln('/// '.. line:sub(3))
|
||||
else -- discard
|
||||
outStream:writeln('// zz:"' .. line .. '"')
|
||||
fn_magic = nil
|
||||
end
|
||||
elseif string.find(line,'^function') or string.find(line,'^local%s+function') then
|
||||
-- it's a function
|
||||
state = 'in_function' -- it's a function
|
||||
local pos_fn = string.find(line,'function')
|
||||
-- function
|
||||
-- ....v...
|
||||
@ -578,7 +584,7 @@ function TLua2DoX_filter.readfile(this,AppStamp,Filename)
|
||||
end
|
||||
fn_magic = nil -- mustn't indavertently use it again
|
||||
elseif string.find(line,'=%s*class%(') then
|
||||
-- it's a class declaration
|
||||
state = 'in_class' -- it's a class declaration
|
||||
local tailComment
|
||||
line,tailComment = TString_removeCommentFromLine(line)
|
||||
local equals = string.find(line,'=')
|
||||
@ -592,8 +598,8 @@ function TLua2DoX_filter.readfile(this,AppStamp,Filename)
|
||||
end
|
||||
outStream:writeln('class ' .. klass .. parent .. '{};')
|
||||
else
|
||||
-- we don't know what this line means, so we can probably just comment it out
|
||||
if #line>0 then
|
||||
state = '' -- unknown
|
||||
if #line>0 then -- we don't know what this line means, so just comment it out
|
||||
outStream:writeln('// zz: ' .. line)
|
||||
else
|
||||
outStream:writeln() -- keep this line blank
|
||||
|
@ -1027,7 +1027,7 @@ Buffer nvim_create_buf(Boolean listed, Boolean scratch, Error *err)
|
||||
/// - "editor" the global editor grid
|
||||
/// - "win" a window. Use `win` to specify a window id,
|
||||
/// or the current window will be used by default.
|
||||
/// "cursor" the cursor position in current window.
|
||||
/// - "cursor" the cursor position in current window.
|
||||
/// - `win`: When using relative='win', window id of the window where the
|
||||
/// position is defined.
|
||||
/// - `anchor`: The corner of the float that the row,col position defines:
|
||||
@ -1336,10 +1336,17 @@ Array nvim_get_api_info(uint64_t channel_id)
|
||||
return rv;
|
||||
}
|
||||
|
||||
/// Identifies the client. Can be called more than once; subsequent calls
|
||||
/// remove earlier info, which should be included by the caller if it is
|
||||
/// still valid. (E.g. if a library first identifies the channel, then a
|
||||
/// plugin using that library later overrides that info)
|
||||
/// Self-identifies the client.
|
||||
///
|
||||
/// The client/plugin/application should call this after connecting, to provide
|
||||
/// hints about its identity and purpose, for debugging and orchestration.
|
||||
///
|
||||
/// Can be called more than once; the caller should merge old info if
|
||||
/// appropriate. Example: library first identifies the channel, then a plugin
|
||||
/// using that library later identifies itself.
|
||||
///
|
||||
/// @note "Something is better than nothing". You don't need to include all the
|
||||
/// fields.
|
||||
///
|
||||
/// @param channel_id
|
||||
/// @param name Short name for the connected client
|
||||
|
Loading…
Reference in New Issue
Block a user