aboutsummaryrefslogtreecommitdiff
path: root/runtime/doc
Commit message (Collapse)AuthorAge
...
| * docs: breaking change in diagnostic goto #28541Gregory Anders2024-04-27
| |
| * vim-patch:79952b9c6774Christian Clason2024-04-27
| | | | | | | | | | | | | | | | | | | | runtime(jq): include syntax, ftplugin and compiler plugin closes: vim/vim#14619 https://github.com/vim/vim/commit/79952b9c6774d30f248a0ecf9ea84318be947fc4 Co-authored-by: Vito <vito.blog@gmail.com>
| * vim-patch:9525f6213604zeertzjq2024-04-27
| | | | | | | | | | | | | | | | runtime(doc): fix typo synconcealend -> synconcealed (vim/vim#14644) https://github.com/vim/vim/commit/9525f62136047225f4dca8ba68ab2023600ec522 Co-authored-by: Philip H <47042125+pheiduck@users.noreply.github.com>
| * vim-patch:00ae5c5cba7bzeertzjq2024-04-27
| | | | | | | | | | | | | | | | runtime(doc): fix typo https://github.com/vim/vim/commit/00ae5c5cba7b2b42662687b3150397fe1737fba0 Co-authored-by: Christian Brabandt <cb@256bit.org>
| * vim-patch:fe1e2b5e2d65zeertzjq2024-04-27
| | | | | | | | | | | | | | | | | | | | runtime(doc): clarify syntax vs matching mechanism fixes: vim/vim#14643 https://github.com/vim/vim/commit/fe1e2b5e2d65f05d820f17db935b15454a63be06 Co-authored-by: Christian Brabandt <cb@256bit.org>
| * fix(lsp): change `silent` in lsp.start.Opts to optional (#28524)Mathias Fußenegger2024-04-26
| |
| * feat(diagnostic): add default mappings for diagnostics (#16230)Gregory Anders2024-04-26
| |
| * feat(lsp): add more LSP defaults (#28500)Gregory Anders2024-04-26
| | | | | | | | | | | | - crn for rename - crr for code actions - gr for references - <C-S> (in Insert mode) for signature help
| * refactor(vim.iter)!: rename xxback() => rxx() #28503Justin M. Keyes2024-04-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: vim.iter has both `rfind()` and various `*back()` methods, which work in "reverse" or "backwards" order. It's inconsistent to have both kinds of names, and "back" is fairly uncommon (rust) compared to python (rfind, rstrip, rsplit, …). Solution: - Remove `nthback()` and let `nth()` take a negative index. - Because `rnth()` looks pretty obscure, and because it's intuitive for a function named `nth()` to take negative indexes. - Rename `xxback()` methods to `rxx()`. - This informally groups the "list-iterator" functions under a common `r` prefix, which helps discoverability. - Rename `peekback()` to `pop()`, in duality with the existing `peek`.
| * fix: lua annotationsLewis Russell2024-04-26
| |
| * fix(lsp): add "silent" option to vim.lsp.start (#28478)Gregory Anders2024-04-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | vim.notify cannot be suppressed and it is not always necessary to display a visible warning to the user if the RPC process fails to start. For instance, a user may have the same LSP configuration across systems, some of which may not have all of the LSP server executables installed. In that case, the user receives a notification every time a file is opened that they cannot suppress. Instead of using vim.notify in vim.lsp.rpc, propagate a normal error up through the call stack and use vim.notify in vim.lsp.start() only if the "silent" option is not set. This also updates lsp.start_client() to return an error message as its second return value if an error occurred, rather than calling vim.notify directly. Callers of lsp.start_client() will need to update call sites appropriately if they wish to report errors to the user (or even better, switch to vim.lsp.start).
| * feat(diagnostic): goto functions jump to highest severity (#28490)Gregory Anders2024-04-25
| | | | | | | | | | When the "severity" option is nil, vim.diagnostic.goto_next() and vim.diagnostic.goto_prev() jump to the next diagnostic with the highest severity.
| * fix(vim.ui)!: change open() to return pcall-like values #28502Justin M. Keyes2024-04-25
| | | | | | | | | | | | | | | | | | Problem: `vim.ui.open` unnecessarily invents a different success/failure convention. Its return type was changed in 57adf8c6e01d, so we might as well change it to have a more conventional form. Solution: Change the signature to use the `pcall` convention of `status, result`.
| * feat(fs): add vim.fs.root (#28477)Gregory Anders2024-04-24
| | | | | | | | | | | | vim.fs.root() is a function for finding a project root relative to a buffer using one or more "root markers". This is useful for LSP and could be useful for other "projects" designs, as well as for any plugins which work with a "projects" concept.
| * feat(api): allow floats to be opened in non-current tabpage (#28480)Will Hopkins2024-04-25
| | | | | | \
| * refactor(lsp): merge subtypes and supertypes into typehierarchy (#28467)Mathias Fußenegger2024-04-23
| | | | | | | | Both methods had pretty much the same documentation and shared the implementation.
| * test: improve test conventionsdundargoc2024-04-23
| | | | | | | | | | | | | | | | | | Specifically, functions that are run in the context of the test runner are put in module `test/testutil.lua` while the functions that are run in the context of the test session are put in `test/functional/testnvim.lua`. Closes https://github.com/neovim/neovim/issues/27004.
| * fix(diagnostic): vim.diagnostic.get(…,{lnum=…}) on multi-line diagnostic ↵Raphael2024-04-23
| | | | | | | | | | | | | | | | #28273 Problem: vim.diagnostic.get(…,{lnum=…}) does not match multi-line diagnostics. Solution: add end_lnum support.
| * vim-patch:f7a38650eaf6 (#28465)zeertzjq2024-04-23
| | | | | | | | | | | | | | | | | | runtime(doc): update documentation closes: vim/vim#14616 https://github.com/vim/vim/commit/f7a38650eaf6dd4612fc31f85b6f0d4c6e06567f Co-authored-by: RestorerZ <restorer@mail2k.ru>
| * refactor(api): deprecate nvim_call_atomic #28433Justin M. Keyes2024-04-22
| | | | | | | | | | | | TODO: FUNC_API_REMOTE_ONLY APIs such as `nvim_ui_*` cannot (yet) be used in `nvim_exec_lua`. We can change FUNC_API_REMOTE_ONLY to allow Vimscript/Lua to pass an explicit `channel_id`. #28437
| * refactor(lua): deprecate tbl_flatten #28457Justin M. Keyes2024-04-22
| | | | | | forgot some changes in 9912a4c81b0856200f44a38e99d38eae44cef5c9
| * refactor(lua): deprecate tbl_flattenJustin M. Keyes2024-04-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Besides being redundant with vim.iter():flatten(), `tbl_flatten` has these problems: - Has `tbl_` prefix but only accepts lists. - Discards some results! Compare the following: - iter.flatten(): ``` vim.iter({1, { { a = 2 } }, { 3 } }):flatten():totable() ``` - tbl_flatten: ``` vim.tbl_flatten({1, { { a = 2 } }, { 3 } }) ``` Solution: Deprecate tbl_flatten. Note: iter:flatten() currently fails ("flatten() requires a list-like table") on this code from gen_lsp.lua: local anonym = vim.iter({ -- remove nil anonymous_num > 1 and '' or nil, '---@class ' .. anonymous_classname, }):flatten():totable() Should we enhance :flatten() to work for arrays?
| * vim-patch:d3ff129ce8c6Christian Clason2024-04-22
| | | | | | | | | | | | | | | | | | | | | | | | | | runtime(astro): Add filetype, syntax and indent plugin related: vim/vim#14558 closes: vim/vim#14561 ported from: https://github.com/wuelnerdotexe/vim-astro https://github.com/vim/vim/commit/d3ff129ce8c68770c47d72ab3f30a21c19530eee Co-authored-by: Philip H <47042125+pheiduck@users.noreply.github.com>
| * refactor(lua): rename tbl_isarray => isarrayJustin M. Keyes2024-04-21
| | | | | | | | | | | | | | tbl_isarray was not released yet, so it will not go through a deprecation cycle. ref #24572
| * refactor(lua): rename tbl_islist => islistJustin M. Keyes2024-04-21
| | | | | | | | ref #24572
| * Merge pull request #27872 from luukvbaal/cmdheightbfredl2024-04-21
| |\ | | | | | | fix(ui): don't force 'cmdheight' to zero with ext_messages
| | * fix(ui): don't force 'cmdheight' to zero with ext_messagesLuuk van Baal2024-04-20
| | | | | | | | | | | | Remove remaining code that prevents non-zero 'cmdheight' with ext_messages.
| * | feat(treesitter): handle quantified fold capturesRiley Bruins2024-04-20
| |/
| * feat(lsp): add vim.lsp.buf.subtypes(), vim.lsp.buf.supertypes() (#28388)Yinzuo Jiang2024-04-20
| | | | | | | | Co-authored-by: Mathias Fußenegger <mfussenegger@users.noreply.github.com> Co-authored-by: Maria José Solano <majosolano99@gmail.com>
| * refactor: add xmemcpyz() and use it in place of some xstrlcpy() (#28422)zeertzjq2024-04-20
| | | | | | | | | | | | Problem: Using xstrlcpy() when the exact length of the string to be copied is known is not ideal because it requires adding 1 to the length and an unnecessary strlen(). Solution: Add xmemcpyz() and use it in place of such xstrlcpy() calls.
| * refactor(vim.iter)!: remove vim.iter.map/filter/totable #26138Justin M. Keyes2024-04-19
| | | | | | | | | | | | | | | | Problem: The use-case for the convenience functions vim.iter.map(), vim.iter.filter(), vim.iter.totable() is not clear. Solution: Drop them for now. We can revisit after 0.10 release.
| * vim-patch:36e667ab837c (#28407)zeertzjq2024-04-19
| | | | | | | | | | | | | | | | | | | | | | | | runtime(java): Support "g:ftplugin_java_source_path" with archived files Also, document for "g:ftplugin_java_source_path" its current modification of the local value of the 'path' option. closes: vim/vim#14570 https://github.com/vim/vim/commit/36e667ab837cd27b8c0c9df5c2db8008b2e1b76c Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
| * docs: update supported platformsdundargoc2024-04-18
| |
| * feat(lua): enable(enable:boolean, filter:table) #28374Justin M. Keyes2024-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | | Problem: We need to establish a pattern for `enable()`. Solution: - First `enable()` parameter is always `enable:boolean`. - Update `vim.diagnostic.enable()` - Update `vim.lsp.inlay_hint.enable()`. - It was not released yet, so no deprecation is needed. But to help HEAD users, it will show an informative error. - vim.deprecate(): - Improve message when the "removal version" is a *current or older* version.
| * refactor(lsp): merge rpc.domain_socket_connect into rpc.connect (#28398)Mathias Fußenegger2024-04-18
| | | | | | See discussion in https://github.com/neovim/neovim/pull/26850
| * feat(lua): vim.fs.normalize() resolves ".", ".." #28203Famiu Haque2024-04-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: `vim.fs.normalize` does not resolve `.` and `..` components. This makes no sense as the entire point of normalization is to remove redundancy from the path. The path normalization functions in several other languages (Java, Python, C++, etc.) also resolve `.` and `..` components. Reference: - Python: https://docs.python.org/3/library/os.path.html#os.path.normpath - Java: https://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html#normalize-- - C++: https://en.cppreference.com/w/cpp/filesystem/path/lexically_normal Solution: Resolve "." and ".." in `vim.fs.normalize`. Before: "~/foo/bar/../baz/./" => "~/foo/bar/../baz/." After: "~/foo/bar/../baz/./" => "~/foo/baz"
| * feat(defaults): use ripgrep (rg) for 'grepprg' if availableLuna Saphie Mittelbach2024-04-16
| |
| * fix: vim.validate() order is not deterministic #28377Justin M. Keyes2024-04-16
| | | | | | | | | | | | | | | | | | | | | | | | | | Problem: The order of the validation performed by vim.validate() is unpredictable. - harder to write reliable tests. - confusing UX because validation result might return different errors randomly. Solution: Iterate the input using `vim.spairs()`. Future: Ideally, the caller could provide an "ordered dict".
| * Merge #28227 feat(diagnostic): is_enabled, enable(…, enable:boolean)Justin M. Keyes2024-04-16
| |\
| | * feat(diagnostic): enable(…, opts)Justin M. Keyes2024-04-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: vim.diagnostic.enable() does not match the signature of vim.lsp.inlay_hint.enable() Solution: - Change the signature so that the first 2 args are (bufnr, enable). - Introduce a 3rd `opts` arg. - Currently it only supports `opts.ns_id`.
| | * feat(diagnostic): is_enabled, enable(…, enable:boolean)Justin M. Keyes2024-04-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: `vim.diagnostic.is_disabled` and `vim.diagnostic.disable` are unnecessary and inconsistent with the "toggle" pattern (established starting with `vim.lsp.inlay_hint`, see https://github.com/neovim/neovim/pull/25512#pullrequestreview-1676750276 As a reminder, the rationale is: - we always need `enable()` - we always end up needing `is_enabled()` - "toggle" can be achieved via `enable(not is_enabled())` - therefore, - `toggle()` and `disable()` are redundant - `is_disabled()` is a needless inconsistency Solution: - Introduce `vim.diagnostic.is_enabled`, and `vim.diagnostic.enable(…, enable:boolean)` - Note: Future improvement would be to add an `enable()` overload `enable(enable:boolean, opts: table)`. - Deprecate `vim.diagnostic.is_disabled`, `vim.diagnostic.disable`
| * | vim-patch:fb8f31ea7d7f (#28356)zeertzjq2024-04-16
| |/ | | | | | | | | | | | | | | | | runtime(doc): document pandoc compiler and enable configuring arguments closes: vim/vim#14550 https://github.com/vim/vim/commit/fb8f31ea7d7f3f42e9bdce7b4434fd93fba8876f Co-authored-by: Konfekt <Konfekt@users.noreply.github.com>
| * fix(vim.ui): open() may wait indefinitely #28325Justin M. Keyes2024-04-15
| | | | | | | | | | | | | | | | | | | | | | | | Problem: vim.ui.open "locks up" Nvim if the spawned process does not terminate. #27986 Solution: - Change `vim.ui.open()`: - Do not call `wait()`. - Return a `SystemObj`. The caller can decide if it wants to `wait()`. - Change `gx` to `wait()` only a short time. - Allows `gx` to show a message if the command fails, without the risk of waiting forever.
| * vim-patch:9.1.0329: String interpolation fails for Dict type (#28335)zeertzjq2024-04-15
| | | | | | | | | | | | | | | | | | | | | | | | | | Problem: String interpolation fails for Dict type Solution: Support Dict data type properly, also support :put =Dict (without having to convert it to string() first) (Yegappan Lakshmanan) fixes: vim/vim#14529 closes: vim/vim#14541 https://github.com/vim/vim/commit/f01493c55062c01b1cdf9b1e946577f4d1bdddf3 Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
| * feat(api)!: nvim_open_win: noautocmd blocks all autocmds #28192Sean Dewar2024-04-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: noautocmd is confusing; despite its name, it doesn't block all autocommands (instead it blocks only those related to setting the buffer), and is commonly used by plugins to open windows while producing minimal side-effects. Solution: be consistent and block all autocommands when noautocmd is set. This includes WinNew (again), plus autocommands from entering the window (if enter is set) like WinEnter, WinLeave, TabEnter, .etc. See the discussion at https://github.com/neovim/neovim/pull/14659#issuecomment-2040029517 for more information. Remove win_set_buf's noautocmd argument, as it's no longer needed. NOTE: pum_create_float_preview sets noautocmd for win_set_buf, but all its callers already use block_autocmds. Despite that, pum_create_float_preview doesn't actually properly handle autocommands (it has no checks for whether those from win_enter or nvim_create_buf free the window). For now, ensure autocommands are blocked within it for correctness (in case it's ever called outside of a block_autocmds context; the function seems to have been refactored in #26739 anyway).
| * fix(defaults): only repeat macro for each selected line if linewise (#28289)zeertzjq2024-04-15
| | | | | | | | | | | | As mentioned in #28287, repeating a macro for each selected line doesn't really make sense in non-linewise Visual mode. Fix #28287
| * vim-patch:ce06493aeb3d (#28321)zeertzjq2024-04-14
| | | | | | | | | | | | | | | | | | | | | | | | | | runtime(vim): Update base-syntax, add legacy header folding Allow for syntax-based folding of Vim9 script legacy header regions. This is enabled with the "H" flag of the g:vimsyn_folding config variable. closes: vim/vim#14530 https://github.com/vim/vim/commit/ce06493aeb3d198d13de289ac39d1ed0f1604429 Co-authored-by: Doug Kearns <dougkearns@gmail.com>
| * revert: "feat(health): fold successful healthchecks #22866"dundargoc2024-04-13
| | | | | | | | | | | | | | | | | | This reverts commit 4382d2ed564b80944345785d780cf1b19fb23ba8. The story for this feature was left in an incomplete state. It was never the intention to unilaterally fold all information, only the ones that did not contain relevant information. This feature does more harm than good in its incomplete state.
| * vim-patch:83424105cb42 (#28298)zeertzjq2024-04-12
| | | | | | | | | | | | | | | | | | runtime(doc): mention :argded for :argedit related: vim/vim#14464 https://github.com/vim/vim/commit/83424105cb4219fe4280aa86df5173096186bba2 Co-authored-by: Christian Brabandt <cb@256bit.org>
| * vim-patch:3cb2b3776700 (#28283)zeertzjq2024-04-12
| | | | | | | | | | | | | | | | | | runtime(doc): clarify behaviour or :argadd and :argedit related: vim/vim#14464 https://github.com/vim/vim/commit/3cb2b3776700988e0c9d4ea37d0b05e371e2bbfd Co-authored-by: Christian Brabandt <cb@256bit.org>