docs: misc

Co-authored-by: Axel <axelhjq@gmail.com>
Co-authored-by: Colin Kennedy <colinvfx@gmail.com>
Co-authored-by: Daiki Noda <sys9kdr@users.noreply.github.com>
Co-authored-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com>
Co-authored-by: Jean-Jacq du Plessis <1030058+jj-du-plessis@users.noreply.github.com>
Co-authored-by: Juan Giordana <juangiordana@gmail.com>
Co-authored-by: Lincoln Wallace <locnnil0@gmail.com>
Co-authored-by: Matti Hellström <hellstrom@scm.com>
Co-authored-by: Steven Locorotondo <steven.locorotondo@justeattakeaway.com>
Co-authored-by: Yochem van Rosmalen <git@yochem.nl>
Co-authored-by: glepnir <glephunter@gmail.com>
Co-authored-by: ifish <fishioon@live.com>
This commit is contained in:
dundargoc
2024-11-24 11:29:39 +01:00
committed by dundargoc
parent c060a6ea64
commit 6a425e7045
21 changed files with 44 additions and 38 deletions

View File

@ -5,12 +5,13 @@
1. Install [build prerequisites](#build-prerequisites) on your system 1. Install [build prerequisites](#build-prerequisites) on your system
2. `git clone https://github.com/neovim/neovim` 2. `git clone https://github.com/neovim/neovim`
3. `cd neovim && make CMAKE_BUILD_TYPE=RelWithDebInfo` 3. `cd neovim`
- If you want the **stable release**, also run `git checkout stable`. - If you want the **stable release**, also run `git checkout stable`.
4. `make CMAKE_BUILD_TYPE=RelWithDebInfo`
- If you want to install to a custom location, set `CMAKE_INSTALL_PREFIX`. See also [INSTALL.md](./INSTALL.md#install-from-source). - If you want to install to a custom location, set `CMAKE_INSTALL_PREFIX`. See also [INSTALL.md](./INSTALL.md#install-from-source).
- On BSD, use `gmake` instead of `make`. - On BSD, use `gmake` instead of `make`.
- To build on Windows, see the [Building on Windows](#building-on-windows) section. _MSVC (Visual Studio) is recommended._ - To build on Windows, see the [Building on Windows](#building-on-windows) section. _MSVC (Visual Studio) is recommended._
4. `sudo make install` 5. `sudo make install`
- Default install location is `/usr/local` - Default install location is `/usr/local`
- On Debian/Ubuntu, instead of `sudo make install`, you can try `cd build && cpack -G DEB && sudo dpkg -i nvim-linux64.deb` to build DEB-package and install it. This helps ensure clean removal of installed files. Note: This is an unsupported, "best-effort" feature of the Nvim build. - On Debian/Ubuntu, instead of `sudo make install`, you can try `cd build && cpack -G DEB && sudo dpkg -i nvim-linux64.deb` to build DEB-package and install it. This helps ensure clean removal of installed files. Note: This is an unsupported, "best-effort" feature of the Nvim build.
@ -131,7 +132,8 @@ https://github.com/cascent/neovim-cygwin was built on Cygwin 2.9.0. Newer `libuv
1. From the MSYS2 shell, install these packages: 1. From the MSYS2 shell, install these packages:
``` ```
pacman -S \ pacman -S \
mingw-w64-ucrt-x86_64-{gcc,cmake,make,ninja,diffutils} mingw-w64-ucrt-x86_64-gcc \
mingw-w64-x86_64-{cmake,make,ninja,diffutils}
``` ```
2. From the Windows Command Prompt (`cmd.exe`), set up the `PATH` and build. 2. From the Windows Command Prompt (`cmd.exe`), set up the `PATH` and build.
@ -292,13 +294,13 @@ Platform-specific requirements are listed below.
### Ubuntu / Debian ### Ubuntu / Debian
```sh ```sh
sudo apt-get install ninja-build gettext cmake unzip curl build-essential sudo apt-get install ninja-build gettext cmake curl build-essential
``` ```
### RHEL / Fedora ### RHEL / Fedora
``` ```
sudo dnf -y install ninja-build cmake gcc make unzip gettext curl glibc-gconv-extra sudo dnf -y install ninja-build cmake gcc make gettext curl glibc-gconv-extra
``` ```
### openSUSE ### openSUSE
@ -310,13 +312,13 @@ sudo zypper install ninja cmake gcc-c++ gettext-tools curl
### Arch Linux ### Arch Linux
``` ```
sudo pacman -S base-devel cmake unzip ninja curl sudo pacman -S base-devel cmake ninja curl
``` ```
### Alpine Linux ### Alpine Linux
``` ```
apk add build-base cmake coreutils curl unzip gettext-tiny-dev apk add build-base cmake coreutils curl gettext-tiny-dev
``` ```
### Void Linux ### Void Linux
@ -380,7 +382,7 @@ or a specific SHA1 like `--override-input neovim-src github:neovim/neovim/89dc8f
### FreeBSD ### FreeBSD
``` ```
sudo pkg install cmake gmake sha unzip wget gettext curl sudo pkg install cmake gmake sha wget gettext curl
``` ```
If you get an error regarding a `sha256sum` mismatch, where the actual SHA-256 hash is `e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855`, then this is your issue (that's the `sha256sum` of an empty file). If you get an error regarding a `sha256sum` mismatch, where the actual SHA-256 hash is `e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855`, then this is your issue (that's the `sha256sum` of an empty file).
@ -388,7 +390,7 @@ If you get an error regarding a `sha256sum` mismatch, where the actual SHA-256 h
### OpenBSD ### OpenBSD
```sh ```sh
doas pkg_add gmake cmake unzip curl gettext-tools doas pkg_add gmake cmake curl gettext-tools
``` ```
Build can sometimes fail when using the top level `Makefile`, apparently due to some third-party component (see [#2445-comment](https://github.com/neovim/neovim/issues/2445#issuecomment-108124236)). The following instructions use CMake: Build can sometimes fail when using the top level `Makefile`, apparently due to some third-party component (see [#2445-comment](https://github.com/neovim/neovim/issues/2445#issuecomment-108124236)). The following instructions use CMake:

View File

@ -10,7 +10,7 @@
{ {
"name": "default", "name": "default",
"displayName": "RelWithDebInfo", "displayName": "RelWithDebInfo",
"description": "Enables optimizations (-O2) with debug information", "description": "Enables optimizations with debug information",
"cacheVariables": { "cacheVariables": {
"CMAKE_BUILD_TYPE": "RelWithDebInfo" "CMAKE_BUILD_TYPE": "RelWithDebInfo"
}, },
@ -19,7 +19,7 @@
{ {
"name": "debug", "name": "debug",
"displayName": "Debug", "displayName": "Debug",
"description": "Disables optimizations (-O0), enables debug information", "description": "No optimizations, enables debug information",
"cacheVariables": { "cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug" "CMAKE_BUILD_TYPE": "Debug"
}, },
@ -28,7 +28,7 @@
{ {
"name": "release", "name": "release",
"displayName": "Release", "displayName": "Release",
"description": "Same as RelWithDebInfo, but disables debug information", "description": "Optimized for performance, disables debug information",
"cacheVariables": { "cacheVariables": {
"CMAKE_BUILD_TYPE": "Release" "CMAKE_BUILD_TYPE": "Release"
}, },

View File

@ -302,7 +302,7 @@ Neovim nightly and stable are available on the [snap store](https://snapcraft.io
**Stable Builds** **Stable Builds**
```sh ```sh
sudo snap install --beta nvim --classic sudo snap install nvim --classic
``` ```
**Nightly Builds** **Nightly Builds**

View File

@ -133,6 +133,9 @@ generated-sources benchmark $(FORMAT) $(LINT) $(TEST) doc: | build/.ran-cmake
test: $(TEST) test: $(TEST)
# iwyu-fix-includes can be downloaded from
# https://github.com/include-what-you-use/include-what-you-use/blob/master/fix_includes.py.
# Create a iwyu-fix-includes shell script in your $PATH that invokes the python script.
iwyu: build/.ran-cmake iwyu: build/.ran-cmake
$(CMAKE) --preset iwyu $(CMAKE) --preset iwyu
$(CMAKE) --build build > build/iwyu.log $(CMAKE) --build build > build/iwyu.log

View File

@ -8282,7 +8282,7 @@ search({pattern} [, {flags} [, {stopline} [, {timeout} [, {skip}]]]]) *search()*
• {skip} (`string|function?`) • {skip} (`string|function?`)
Return: ~ Return: ~
(`any`) (`integer`)
searchcount([{options}]) *searchcount()* searchcount([{options}]) *searchcount()*
Get or update the last search count, like what is displayed Get or update the last search count, like what is displayed

View File

@ -32,7 +32,7 @@ Follow these steps to get LSP features:
Example: >lua Example: >lua
vim.lsp.config['luals'] = { vim.lsp.config['luals'] = {
-- Command and arguments to start the server. -- Command and arguments to start the server.
cmd = { 'lua-language-server' } cmd = { 'lua-language-server' },
-- Filetypes to automatically attach to. -- Filetypes to automatically attach to.
filetypes = { 'lua' }, filetypes = { 'lua' },
@ -93,7 +93,7 @@ Given: >lua
multilineTokenSupport = true, multilineTokenSupport = true,
} }
} }
} },
root_markers = { '.git' }, root_markers = { '.git' },
}) })
@ -878,7 +878,7 @@ foldexpr({lnum}) *vim.lsp.foldexpr()*
To use, check for the "textDocument/foldingRange" capability in an To use, check for the "textDocument/foldingRange" capability in an
|LspAttach| autocommand. Example: >lua |LspAttach| autocommand. Example: >lua
vim.api.nvim_create_autocommand('LspAttach', { vim.api.nvim_create_autocmd('LspAttach', {
callback = function(args) callback = function(args)
local client = vim.lsp.get_client_by_id(args.data.client_id) local client = vim.lsp.get_client_by_id(args.data.client_id)
if client:supports_method('textDocument/foldingRange') then if client:supports_method('textDocument/foldingRange') then

View File

@ -153,7 +153,7 @@ its functions if this succeeds and prints an error message otherwise:
if not ok then if not ok then
print("Module had an error") print("Module had an error")
else else
mymod.function() mymod.func()
end end
< <
In contrast to |:source|, |require()| not only searches through all `lua/` directories In contrast to |:source|, |require()| not only searches through all `lua/` directories

View File

@ -1299,7 +1299,7 @@ global value of a |global-local| option, see |:setglobal|.
A special interface |vim.opt| exists for conveniently interacting with list- A special interface |vim.opt| exists for conveniently interacting with list-
and map-style option from Lua: It allows accessing them as Lua tables and and map-style options from Lua: It allows accessing them as Lua tables and
offers object-oriented method for adding and removing entries. offers object-oriented method for adding and removing entries.
Examples: ~ Examples: ~
@ -1805,7 +1805,7 @@ vim.system({cmd}, {opts}, {on_exit}) *vim.system()*
-- Runs synchronously: -- Runs synchronously:
local obj = vim.system({'echo', 'hello'}, { text = true }):wait() local obj = vim.system({'echo', 'hello'}, { text = true }):wait()
-- { code = 0, signal = 0, stdout = 'hello', stderr = '' } -- { code = 0, signal = 0, stdout = 'hello\n', stderr = '' }
< <
See |uv.spawn()| for more details. Note: unlike |uv.spawn()|, vim.system See |uv.spawn()| for more details. Note: unlike |uv.spawn()|, vim.system

View File

@ -1560,8 +1560,8 @@ A jump table for the options with a short description can be found at |Q_op|.
"menu" or "menuone". No effect if "longest" is present. "menu" or "menuone". No effect if "longest" is present.
noselect Same as "noinsert", except that no menu item is noselect Same as "noinsert", except that no menu item is
pre-selected. If both "noinsert" and "noselect" are present, pre-selected. If both "noinsert" and "noselect" are
"noselect" has precedence. present, "noselect" has precedence.
fuzzy Enable |fuzzy-matching| for completion candidates. This fuzzy Enable |fuzzy-matching| for completion candidates. This
allows for more flexible and intuitive matching, where allows for more flexible and intuitive matching, where

View File

@ -70,7 +70,7 @@ adds arbitrary metadata and conditional data to a match.
Queries are written in a lisp-like language documented in Queries are written in a lisp-like language documented in
https://tree-sitter.github.io/tree-sitter/using-parsers#query-syntax https://tree-sitter.github.io/tree-sitter/using-parsers#query-syntax
Note: The predicates listed there page differ from those Nvim supports. See Note: The predicates listed there differ from those Nvim supports. See
|treesitter-predicates| for a complete list of predicates supported by Nvim. |treesitter-predicates| for a complete list of predicates supported by Nvim.
Nvim looks for queries as `*.scm` files in a `queries` directory under Nvim looks for queries as `*.scm` files in a `queries` directory under

View File

@ -93,7 +93,7 @@ local utfs = {
--- ---
--- -- Runs synchronously: --- -- Runs synchronously:
--- local obj = vim.system({'echo', 'hello'}, { text = true }):wait() --- local obj = vim.system({'echo', 'hello'}, { text = true }):wait()
--- -- { code = 0, signal = 0, stdout = 'hello', stderr = '' } --- -- { code = 0, signal = 0, stdout = 'hello\n', stderr = '' }
--- ---
--- ``` --- ```
--- ---

View File

@ -1087,8 +1087,8 @@ vim.go.cia = vim.go.completeitemalign
--- "menu" or "menuone". No effect if "longest" is present. --- "menu" or "menuone". No effect if "longest" is present.
--- ---
--- noselect Same as "noinsert", except that no menu item is --- noselect Same as "noinsert", except that no menu item is
--- pre-selected. If both "noinsert" and "noselect" are present, --- pre-selected. If both "noinsert" and "noselect" are
--- "noselect" has precedence. --- present, "noselect" has precedence.
--- ---
--- fuzzy Enable `fuzzy-matching` for completion candidates. This --- fuzzy Enable `fuzzy-matching` for completion candidates. This
--- allows for more flexible and intuitive matching, where --- allows for more flexible and intuitive matching, where

View File

@ -7537,7 +7537,7 @@ function vim.fn.screenstring(row, col) end
--- @param stopline? integer --- @param stopline? integer
--- @param timeout? integer --- @param timeout? integer
--- @param skip? string|function --- @param skip? string|function
--- @return any --- @return integer
function vim.fn.search(pattern, flags, stopline, timeout, skip) end function vim.fn.search(pattern, flags, stopline, timeout, skip) end
--- Get or update the last search count, like what is displayed --- Get or update the last search count, like what is displayed

View File

@ -768,7 +768,7 @@ end
--- ---
--- ---
--- A special interface |vim.opt| exists for conveniently interacting with list- --- A special interface |vim.opt| exists for conveniently interacting with list-
--- and map-style option from Lua: It allows accessing them as Lua tables and --- and map-style options from Lua: It allows accessing them as Lua tables and
--- offers object-oriented method for adding and removing entries. --- offers object-oriented method for adding and removing entries.
--- ---
--- Examples: ~ --- Examples: ~

View File

@ -1389,7 +1389,7 @@ end
--- |LspAttach| autocommand. Example: --- |LspAttach| autocommand. Example:
--- ---
--- ```lua --- ```lua
--- vim.api.nvim_create_autocommand('LspAttach', { --- vim.api.nvim_create_autocmd('LspAttach', {
--- callback = function(args) --- callback = function(args)
--- local client = vim.lsp.get_client_by_id(args.data.client_id) --- local client = vim.lsp.get_client_by_id(args.data.client_id)
--- if client:supports_method('textDocument/foldingRange') then --- if client:supports_method('textDocument/foldingRange') then

View File

@ -208,7 +208,7 @@ end
--- @param uri string --- @param uri string
--- @param client_id? integer --- @param client_id? integer
--- @param diagnostics vim.Diagnostic[] --- @param diagnostics lsp.Diagnostic[]
--- @param is_pull boolean --- @param is_pull boolean
local function handle_diagnostics(uri, client_id, diagnostics, is_pull) local function handle_diagnostics(uri, client_id, diagnostics, is_pull)
local fname = vim.uri_to_fname(uri) local fname = vim.uri_to_fname(uri)

View File

@ -9178,6 +9178,7 @@ M.funcs = {
{ 'timeout', 'integer' }, { 'timeout', 'integer' },
{ 'skip', 'string|function' }, { 'skip', 'string|function' },
}, },
returns = 'integer',
signature = 'search({pattern} [, {flags} [, {stopline} [, {timeout} [, {skip}]]]])', signature = 'search({pattern} [, {flags} [, {stopline} [, {timeout} [, {skip}]]]])',
}, },
searchcount = { searchcount = {

View File

@ -1531,8 +1531,8 @@ return {
"menu" or "menuone". No effect if "longest" is present. "menu" or "menuone". No effect if "longest" is present.
noselect Same as "noinsert", except that no menu item is noselect Same as "noinsert", except that no menu item is
pre-selected. If both "noinsert" and "noselect" are present, pre-selected. If both "noinsert" and "noselect" are
"noselect" has precedence. present, "noselect" has precedence.
fuzzy Enable |fuzzy-matching| for completion candidates. This fuzzy Enable |fuzzy-matching| for completion candidates. This
allows for more flexible and intuitive matching, where allows for more flexible and intuitive matching, where

View File

@ -6357,7 +6357,7 @@ void win_drag_vsep_line(win_T *dragwin, int offset)
fr = curfr; // put fr at window that grows fr = curfr; // put fr at window that grows
} }
// If not enough room thn move as far as we can // If not enough room then move as far as we can
offset = MIN(offset, room); offset = MIN(offset, room);
// No room at all, quit. // No room at all, quit.

View File

@ -58,11 +58,11 @@ describe('mbyte', function()
lib.schar_get(buf, lib.utfc_ptr2schar(to_string(seq), firstc)) lib.schar_get(buf, lib.utfc_ptr2schar(to_string(seq), firstc))
local str = ffi.string(buf) local str = ffi.string(buf)
if 1 > 2 then -- for debugging if 1 > 2 then -- for debugging
local tabel = {} local tbl = {}
for i = 1, #str do for i = 1, #str do
table.insert(tabel, string.format('0x%02x', string.byte(str, i))) table.insert(tbl, string.format('0x%02x', string.byte(str, i)))
end end
print('{ ' .. table.concat(tabel, ', ') .. ' }') print('{ ' .. table.concat(tbl, ', ') .. ' }')
io.stdout:flush() io.stdout:flush()
end end
return { str, firstc[0] } return { str, firstc[0] }

View File

@ -1131,7 +1131,7 @@ putglyph 1f3f4,200d,2620,fe0f 2 0,4]])
push('\x1b[0F', vt) push('\x1b[0F', vt)
cursor(0, 0, state) cursor(0, 0, state)
-- Cursor Horizonal Absolute -- Cursor Horizontal Absolute
push('\n', vt) push('\n', vt)
cursor(1, 0, state) cursor(1, 0, state)
push('\x1b[20G', vt) push('\x1b[20G', vt)
@ -3104,7 +3104,7 @@ putglyph 1f3f4,200d,2620,fe0f 2 0,4]])
screen screen
) )
-- Outputing CJK doublewidth in 80th column should wraparound to next line and not crash" -- Outputting CJK doublewidth in 80th column should wraparound to next line and not crash"
reset(nil, screen) reset(nil, screen)
push('\x1b[80G\xEF\xBC\x90', vt) push('\x1b[80G\xEF\xBC\x90', vt)
screen_cell(0, 79, '{} width=1 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0)', screen) screen_cell(0, 79, '{} width=1 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0)', screen)