docs: misc (#28609)

Closes https://github.com/neovim/neovim/issues/28484.
Closes https://github.com/neovim/neovim/issues/28719.

Co-authored-by: Chris <crwebb85@gmail.com>
Co-authored-by: Gregory Anders <greg@gpanders.com>
Co-authored-by: Jake B <16889000+jakethedev@users.noreply.github.com>
Co-authored-by: Jonathan Raines <jonathan.s.raines@gmail.com>
Co-authored-by: Yi Ming <ofseed@foxmail.com>
Co-authored-by: Zane Dufour <zane@znd4.me>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
This commit is contained in:
dundargoc 2024-05-15 01:18:33 +02:00 committed by GitHub
parent b83d5fabc6
commit 7acf39ddab
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
24 changed files with 48 additions and 57 deletions

View File

@ -36,7 +36,7 @@ Windows 8+ is required. Windows 7 or older is not supported.
### [Chocolatey](https://chocolatey.org)
- **Release (v0.7):** `choco install neovim` (use -y for automatically skipping confirmation messages)
- **Latest Release:** `choco install neovim` (use -y for automatically skipping confirmation messages)
- **Development (pre-release):** `choco install neovim --pre`
### [Scoop](https://scoop.sh/)

View File

@ -22,7 +22,7 @@ In practice we haven't found a way to forecast more precisely than "next" and
* Next feature-release (1.x.0)
The forecasting problem might be solved with an explicit priority system (like
Bram's todo.txt). Meanwhile the Neovim priority system is defined by:
Vim's todo.txt). Meanwhile the Neovim priority system is defined by:
* PRs nearing completion.
* Issue labels. E.g. the `has:plan` label increases the ticket's priority merely
@ -57,8 +57,8 @@ has a major bug:
### Release automation
Neovim automation includes a [backport bot](https://github.com/zeebe-io/backport-action).
Trigger the action by labeling a PR with `backport release-X.Y`. See `.github/workflows/backport.yml`.
Neovim automation includes a [backport bot](https://github.com/korthout/backport-action).
Trigger the action by labeling a PR with `ci:backport release-x.y`. See `.github/workflows/backport.yml`.
Deprecating and removing features
---------------------------------
@ -74,7 +74,7 @@ When a (non-experimental) feature is slated to be removed it should:
1. Be _soft_ deprecated in the _next_ release
- Use of the deprecated feature will still work.
- This means deprecating via documentation and annotation (`@deprecated`).
- Include a note in `news.txt` under `DEPRECATIONS`.
- Include a note in `deprecated.txt`.
- For Lua features, use `vim.deprecate()`. The specified version is the
current minor version + 2. For example, if the current version is
`v0.10.0-dev-1957+gd676746c33` then use `0.12`.
@ -132,7 +132,7 @@ Some can be auto-bumped by `scripts/bump_deps.lua`.
* [gettext](https://ftp.gnu.org/pub/gnu/gettext/)
* [libiconv](https://ftp.gnu.org/pub/gnu/libiconv)
* [libuv](https://github.com/libuv/libuv)
* [libvterm](http://www.leonerd.org.uk/code/libvterm/)
* [libvterm](https://www.leonerd.org.uk/code/libvterm/)
* Downloading from the original source is unreliable, so we use our [mirror](https://github.com/neovim/libvterm) instead.
* [lua-compat](https://github.com/keplerproject/lua-compat-5.3)
* [tree-sitter](https://github.com/tree-sitter/tree-sitter)

View File

@ -281,10 +281,6 @@ gr{char} Replace the virtual characters under the cursor with
that have a special meaning in Insert mode, such as
most CTRL-keys, cannot be used.
*gr-default*
Mapped to |vim.lsp.buf.references()| by default.
|default-mappings|
*digraph-arg*
The argument for Normal mode commands like |r| and |t| is a single character.
When 'cpo' doesn't contain the 'D' flag, this character can also be entered

View File

@ -6,11 +6,11 @@
==============================================================================
EditorConfig integration *editorconfig*
Nvim supports EditorConfig. When a file is opened, Nvim searches all parent
directories of that file for ".editorconfig" files, parses them, and applies
any properties that match the opened file. Think of it like 'modeline' for an
entire (recursive) directory. For more information see
https://editorconfig.org/.
Nvim supports EditorConfig. When a file is opened, after running |ftplugin|s
and |FileType| autocommands, Nvim searches all parent directories of that file
for ".editorconfig" files, parses them, and applies any properties that match
the opened file. Think of it like 'modeline' for an entire (recursive)
directory. For more information see https://editorconfig.org/.
*g:editorconfig* *b:editorconfig*

View File

@ -29,13 +29,6 @@ Use the stable (release) https://github.com/neovim/neovim/releases/latest
version for a more predictable experience.
CAN I USE RUBY-BASED VIM PLUGINS (E.G. LUSTYEXPLORER)? ~
Yes, starting with Nvim 0.1.5 PR #4980
https://github.com/neovim/neovim/pull/4980 the legacy Vim `if_ruby` interface
is supported.
CAN I USE LUA-BASED VIM PLUGINS (E.G. NEOCOMPLETE)? ~
No. Starting with Nvim 0.2 PR #4411

View File

@ -694,8 +694,8 @@ buf_request_sync({bufnr}, {method}, {params}, {timeout_ms})
milliseconds to wait for a result.
Return (multiple): ~
(`table<integer, {err: lsp.ResponseError, result: any}>?`) result Map
of client_id:request_result.
(`table<integer, {error: lsp.ResponseError?, result: any}>?`) result
Map of client_id:request_result.
(`string?`) err On timeout, cancel, or error, `err` is a string
describing the failure reason, and `result` is nil.
@ -1589,7 +1589,7 @@ save({lenses}, {bufnr}, {client_id}) *vim.lsp.codelens.save()*
Lua module: vim.lsp.inlay_hint *lsp-inlay_hint*
enable({enable}, {filter}) *vim.lsp.inlay_hint.enable()*
Enables or disables inlay hints for a buffer.
Enables or disables inlay hints for the {filter}ed scope.
To "toggle", pass the inverse of `is_enabled()`: >lua
vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled())
@ -1636,6 +1636,7 @@ get({filter}) *vim.lsp.inlay_hint.get()*
• {inlay_hint} (`lsp.InlayHint`)
is_enabled({filter}) *vim.lsp.inlay_hint.is_enabled()*
Query whether inlay hint is enabled in the {filter}ed scope
Note: ~
• This API is pre-release (unstable).

View File

@ -2673,7 +2673,6 @@ vim.filetype.add({filetypes}) *vim.filetype.add()*
vim.filetype.add {
pattern = {
['.*'] = {
priority = -math.huge,
function(path, bufnr)
local content = vim.api.nvim_buf_get_lines(bufnr, 0, 1, false)[1] or ''
if vim.regex([[^#!.*\\<mine\\>]]):match_str(content) ~= nil then
@ -2682,6 +2681,7 @@ vim.filetype.add({filetypes}) *vim.filetype.add()*
return 'drawing'
end
end,
{ priority = -math.huge },
},
},
}
@ -4005,7 +4005,8 @@ Iter:fold({init}, {f}) *Iter:fold()*
-- Get the "maximum" item of an iterable.
vim.iter({ -99, -4, 3, 42, 0, 0, 7 })
:fold({}, function(acc, v)
acc.max = math.max(v, acc.max or v) return acc
acc.max = math.max(v, acc.max or v)
return acc
end) --> { max = 42 }
<
@ -4346,7 +4347,7 @@ vim.snippet.jump({direction}) *vim.snippet.jump()*
You can use this function to navigate a snippet as follows: >lua
vim.keymap.set({ 'i', 's' }, '<Tab>', function()
if vim.snippet.jumpable(1) then
if vim.snippet.active({ direction = 1 }) then
return '<cmd>lua vim.snippet.jump(1)<cr>'
else
return '<Tab>'

View File

@ -417,6 +417,7 @@ The following changes to existing APIs or features add new behavior.
• 'shortmess' includes the "C" flag.
• 'grepprg' uses the -H and -I flags for grep by default,
and defaults to using ripgrep if available.
• "]d" and "[d" in Normal mode map to |vim.diagnostic.goto_next()| and
|vim.diagnostic.goto_prev()|, respectively. |]d-default| |[d-default|
• <C-W>d (and <C-W><C-D>) map to |vim.diagnostic.open_float()|
|CTRL-W_d-default|

View File

@ -1,10 +1,9 @@
--- @brief
--- Nvim supports EditorConfig. When a file is opened, Nvim searches all parent
--- directories of that file for ".editorconfig" files, parses them, and applies
--- any properties that match the opened file. Think of it like 'modeline' for an
--- entire (recursive) directory. For more information see
--- https://editorconfig.org/.
---
--- Nvim supports EditorConfig. When a file is opened, after running |ftplugin|s
--- and |FileType| autocommands, Nvim searches all parent directories of that file
--- for ".editorconfig" files, parses them, and applies any properties that match
--- the opened file. Think of it like 'modeline' for an entire (recursive)
--- directory. For more information see https://editorconfig.org/.
--- @brief [g:editorconfig]() [b:editorconfig]()
---

View File

@ -2312,7 +2312,6 @@ end
--- vim.filetype.add {
--- pattern = {
--- ['.*'] = {
--- priority = -math.huge,
--- function(path, bufnr)
--- local content = vim.api.nvim_buf_get_lines(bufnr, 0, 1, false)[1] or ''
--- if vim.regex([[^#!.*\\<mine\\>]]):match_str(content) ~= nil then
@ -2321,6 +2320,7 @@ end
--- return 'drawing'
--- end
--- end,
--- { priority = -math.huge },
--- },
--- },
--- }

View File

@ -466,7 +466,8 @@ end
--- -- Get the "maximum" item of an iterable.
--- vim.iter({ -99, -4, 3, 42, 0, 0, 7 })
--- :fold({}, function(acc, v)
--- acc.max = math.max(v, acc.max or v) return acc
--- acc.max = math.max(v, acc.max or v)
--- return acc
--- end) --> { max = 42 }
--- ```
---

View File

@ -897,12 +897,12 @@ end
---@param bufnr (integer) Buffer handle, or 0 for current.
---@param method (string) LSP method name
---@param params (table|nil) Parameters to send to the server
---@param handler fun(results: table<integer, {error: lsp.ResponseError, result: any}>) (function)
---@param handler fun(results: table<integer, {error: lsp.ResponseError?, result: any}>) (function)
--- Handler called after all requests are completed. Server results are passed as
--- a `client_id:result` map.
---@return function cancel Function that cancels all requests.
function lsp.buf_request_all(bufnr, method, params, handler)
local results = {} --- @type table<integer,{error:lsp.ResponseError, result:any}>
local results = {} --- @type table<integer,{error: lsp.ResponseError?, result: any}>
local result_count = 0
local expected_result_count = 0
@ -940,7 +940,7 @@ end
---@param params table? Parameters to send to the server
---@param timeout_ms integer? Maximum time in milliseconds to wait for a result.
--- (default: `1000`)
---@return table<integer, {err: lsp.ResponseError, result: any}>? result Map of client_id:request_result.
---@return table<integer, {error: lsp.ResponseError?, result: any}>? result Map of client_id:request_result.
---@return string? err On timeout, cancel, or error, `err` is a string describing the failure reason, and `result` is nil.
function lsp.buf_request_sync(bufnr, method, params, timeout_ms)
local request_results ---@type table

View File

@ -503,7 +503,7 @@ function M.typehierarchy(kind)
--- Merge results from multiple clients into a single table. Client-ID is preserved.
---
--- @param results table<integer, {error: lsp.ResponseError, result: lsp.TypeHierarchyItem[]?}>
--- @param results table<integer, {error: lsp.ResponseError?, result: lsp.TypeHierarchyItem[]?}>
--- @return [integer, lsp.TypeHierarchyItem][]
local function merge_results(results)
local merged_results = {}
@ -521,7 +521,7 @@ function M.typehierarchy(kind)
local bufnr = api.nvim_get_current_buf()
local params = util.make_position_params()
--- @param results table<integer, {error: lsp.ResponseError, result: lsp.TypeHierarchyItem[]?}>
--- @param results table<integer, {error: lsp.ResponseError?, result: lsp.TypeHierarchyItem[]?}>
vim.lsp.buf_request_all(bufnr, ms.textDocument_prepareTypeHierarchy, params, function(results)
local merged_results = merge_results(results)
if #merged_results == 0 then

View File

@ -98,7 +98,7 @@ function M.on_inlayhint(err, result, ctx, _)
api.nvim__redraw({ buf = bufnr, valid = true })
end
--- |lsp-handler| for the method `textDocument/inlayHint/refresh`
--- |lsp-handler| for the method `workspace/inlayHint/refresh`
---@param ctx lsp.HandlerContext
---@private
function M.on_refresh(err, _, ctx, _)
@ -368,6 +368,7 @@ api.nvim_set_decoration_provider(namespace, {
end,
})
--- Query whether inlay hint is enabled in the {filter}ed scope
--- @param filter vim.lsp.inlay_hint.enable.Filter
--- @return boolean
--- @since 12
@ -391,7 +392,7 @@ end
--- Buffer number, or 0 for current buffer, or nil for all.
--- @field bufnr integer?
--- Enables or disables inlay hints for a buffer.
--- Enables or disables inlay hints for the {filter}ed scope.
---
--- To "toggle", pass the inverse of `is_enabled()`:
---

View File

@ -539,7 +539,7 @@ end
---
--- ```lua
--- vim.keymap.set({ 'i', 's' }, '<Tab>', function()
--- if vim.snippet.jumpable(1) then
--- if vim.snippet.active({ direction = 1 }) then
--- return '<cmd>lua vim.snippet.jump(1)<cr>'
--- else
--- return '<Tab>'

View File

@ -353,7 +353,7 @@ void check_cursor_col(win_T *win)
// Allow cursor past end-of-line when:
// - in Insert mode or restarting Insert mode
// - in Visual mode and 'selection' isn't "old"
// - 'virtualedit' is set */
// - 'virtualedit' is set
if ((State & MODE_INSERT) || restart_edit
|| (VIsual_active && *p_sel != 'o')
|| (cur_ve_flags & VE_ONEMORE)

View File

@ -4082,7 +4082,7 @@ void separate_nextcmd(exarg_T *eap)
break;
}
} else if (
// Check for '"': start of comment or '|': next command */
// Check for '"': start of comment or '|': next command
// :@" does not start a comment!
// :redir @" doesn't either.
(*p == '"'

View File

@ -443,7 +443,7 @@ int grid_line_puts(int col, const char *text, int textlen, int attr)
if (col + mbyte_cells > max_col) {
// Only 1 cell left, but character requires 2 cells:
// display a '>' in the last column to avoid wrapping. */
// display a '>' in the last column to avoid wrapping.
schar = schar_from_ascii('>');
mbyte_cells = 1;
}

View File

@ -1963,7 +1963,7 @@ int syn_name2id_len(const char *name, size_t len)
return 0;
}
// Avoid using stricmp() too much, it's slow on some systems */
// Avoid using stricmp() too much, it's slow on some systems
// Avoid alloc()/free(), these are slow too.
vim_memcpy_up(name_u, name, len);
name_u[len] = '\0';

View File

@ -1197,7 +1197,7 @@ static int cin_is_cpp_baseclass(cpp_baseclass_cache_T *cached)
s = line;
}
if (s == line) {
// don't recognize "case (foo):" as a baseclass */
// don't recognize "case (foo):" as a baseclass
if (cin_iscase(s, false)) {
break;
}

View File

@ -1812,8 +1812,7 @@ int makemap(FILE *fd, buf_T *buf)
iemsg(_("E228: makemap: Illegal mode"));
return FAIL;
}
do {
// do this twice if c2 is set, 3 times with c3 */
do { // do this twice if c2 is set, 3 times with c3
// When outputting <> form, need to make sure that 'cpo'
// is set to the Vim default.
if (!did_cpo) {

View File

@ -999,7 +999,7 @@ static void uniquefy_paths(garray_T *gap, char *pattern)
memmove(path, path_cutoff, strlen(path_cutoff) + 1);
} else {
// Here all files can be reached without path, so get shortest
// unique path. We start at the end of the path. */
// unique path. We start at the end of the path.
char *pathsep_p = path + len - 1;
while (find_previous_pathsep(path, &pathsep_p)) {
if (vim_regexec(&regmatch, pathsep_p + 1, 0)

View File

@ -10555,7 +10555,7 @@ nfa_do_multibyte:
// NFA_END_COMPOSING is the ). Note that right now we are
// building the postfix form, not the NFA itself;
// a composing char could be: a, b, c, NFA_COMPOSING
// where 'b' and 'c' are chars with codes > 256. */
// where 'b' and 'c' are chars with codes > 256.
while (true) {
EMIT(c);
if (i > 0) {

View File

@ -2460,7 +2460,7 @@ int current_search(int count, bool forward)
// beginning of the file (cursor might be on the search match)
// except when Visual mode is active, so that extending the visual
// selection works.
if (i == 1 && !result) { // not found, abort */
if (i == 1 && !result) { // not found, abort
curwin->w_cursor = orig_pos;
if (VIsual_active) {
VIsual = save_VIsual;
@ -3677,9 +3677,8 @@ void find_pattern_in_path(char *ptr, Direction dir, size_t len, bool whole, bool
true) & kEqualFiles) {
if (type != CHECK_PATH
&& action == ACTION_SHOW_ALL && files[i].matched) {
msg_putchar('\n'); // cursor below last one */
if (!got_int) { // don't display if 'q' typed at "--more--"
// message
msg_putchar('\n'); // cursor below last one
if (!got_int) { // don't display if 'q' typed at "--more--" message
msg_home_replace_hl(new_fname);
msg_puts(_(" (includes previously listed match)"));
prev_fname = NULL;