aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
| * | fix(man.vim): q quits after jump to different tag in MANPAGER modified (#28495)Brian Cao2024-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(lsp): ensure buffer is not attached more than onceLewis Russell2024-04-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes regression introduced in #28030 If an LSP server is restarted, then the associated `nvim_buf_attach` call will not detach if no buffer changes are sent between the client stopping and a new one being created. This leads to `nvim_buf_attach` being called multiple times for the same buffer, which then leads to changetracking sending duplicate requests to the server (one per attach). To solve this, introduce separate tracking (client agnostic) on which buffers have had calls to `nvim_buf_attach`.
| * | fix: lua annotationsLewis Russell2024-04-26
| | |
| * | fix(treesitter.foldexpr): check for all insert submodesTheLeoP2024-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).
| * | refactor(lsp): rename foos_by_bar to bar_foos #28505Yi Ming2024-04-26
| | |
| * | fix(lsp): buffer messages until connected to server (#28507)Mathias Fußenegger2024-04-26
| | | | | | | | | | | | | | | | | | `handle:write(msg)` can fail if the socket is not yet connected to the server. Should address https://github.com/neovim/neovim/pull/28398#issuecomment-2078152491
| * | vim-patch:partial:9.1.0373: ops.c code uses too many strlen() calls (#28508)zeertzjq2024-04-26
| |/ | | | | | | | | | | | | | | | | | | | | Problem: ops.c code uses too many strlen() calls Solution: Refactor code and remove more strlen() calls (John Marriott) closes: vim/vim#14598 https://github.com/vim/vim/commit/38b9f45253f582ab63174376e321092f8a9a7808 Co-authored-by: John Marriott <basilisk@internode.on.net>
| * vim-patch:98b12ede3175Christian Clason2024-04-25
| | | | | | | | | | | | | | | | | | | | | | | | | | runtime(asm): fix undefined variable in indent plugin It's an indent script, so we need to set the b:undo_indent variable instead of the b:undo_ftplugin var. fixes: vim/vim#14602 https://github.com/vim/vim/commit/98b12ede31754071f36fb7a73324456c1ee7b89c Co-authored-by: Christian Brabandt <cb@256bit.org>
| * fix(completion): improve popup window position (#26739)Raphael2024-04-25
| |
| * 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`.
| * build: do not use GIT_REPOSITORY for local dependenciesdundargoc2024-04-25
| | | | | | | | | | | | | | | | | | This reverts a large portion of 2c1e8f7e96926f70151d737ea32f1e6ff3589263. The conclusion from that commit is incorrect: local builds are not used/updated correctly so much as it's not used at all. Instead the build will always use `master` branch rather than the current files.
| * Merge pull request #28492 from bfredl/hotfixbfredl2024-04-25
| |\ | | | | | | fix(lua): vim.fn.has('nvim-0.10') in fast context, used by vim.deprecate
| | * fix(lua): vim.fn.has('nvim-0.10') in fast context, used by vim.deprecatebfredl2024-04-25
| | |
| * | vim-patch:a4c085a3e607Christian Clason2024-04-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(java): Improve the recognition of the "style" method declarations - Request the new regexp engine (v7.3.970) for [:upper:] and [:lower:]. - Recognise declarations of in-line annotated methods. - Recognise declarations of _strictfp_ methods. - Establish partial order for method modifiers as shown in the MethodModifier production; namely, _public_ and friends should be written the leftmost, possibly followed by _abstract_ or _default_, or possibly followed by other modifiers. - Stop looking for parameterisable primitive types (void<?>, int<Object>, etc., are malformed). - Stop looking for arrays of _void_. - Acknowledge the prevailing convention for method names to begin with a small letter and for class/interface names to begin with a capital letter; and, therefore, desist from claiming declarations of enum constants and constructors with javaFuncDef. Rationale: + Constructor is distinct from method: * its (overloaded) name is not arbitrary; * its return type is implicit; * its _throws_ clause depends on indirect vagaries of instance (variable) initialisers; * its invocation makes other constructors of its type hierarchy invoked one by one, concluding with the primordial constructor; * its explicit invocation, via _this_ or _super_, can only appear as the first statement in a constructor (not anymore, see JEP 447); else, its _super_ call cannot appear in constructors of _record_ or _enum_; and neither invocation is allowed for the primordial constructor; * it is not a member of its class, like initialisers, and is never inherited; * it is never _abstract_ or _native_. + Constructor declarations tend to be few in number and merit visual recognition from method declarations. + Enum constants define a fixed set of type instances and more resemble class variable initialisers. Note that the code duplicated for @javaFuncParams is written keeping in mind for g:java_highlight_functions a pending 3rd variant, which would require none of the :syn-cluster added groups. closes: vim/vim#14620 https://github.com/vim/vim/commit/a4c085a3e607bd01d34e1db600b6460fc35fb0a3 Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
| * | 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(source): remove unnecessary concatenation with Lua (#28499)zeertzjq2024-04-25
| | |
| * | perf(diagnostic): avoid table copies to filter by severity (#28491)Mathias Fußenegger2024-04-24
| |/ | | | | | | | | | | Instead of adding all diagnostics matching lnum filters to a table, and then copying that table to another table while applying the severity filter, this changes the flow to only add diagnostics matching both filters in the first pass.
| * build: silence new clang-tidy warningsdundargoc2024-04-24
| |
| * vim-patch:8.2.2332: Vim9: missing :endif not reported when using :windo (#28482)zeertzjq2024-04-24
| | | | | | | | | | | | | | | | Problem: Vim9: missing :endif not reported when using :windo. Solution: Pass a getline function to do_cmdline(). (closes vim/vim#7650) https://github.com/vim/vim/commit/9567efa1b4a41baca9b2266f5903d5dda7ad1e88 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * 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.
| * perf(lua): faster vim.deprecate() #28470Evgeni Chasnovski2024-04-23
| | | | | | | | | | | | | | | | | | | | | | | | Problem: `vim.deprecate()` can be relatively significantly slower than the deprecated function in "Nvim" plugin. Solution: Optimize checks for "Nvim" plugin. This also results into not distinguishing "xxx-dev" and "xxx" versions when doing checks, which is essentially covered by the deprecation logic itself. With this rewrite I get the times from #28459: `{ 0.024827, 0.003797, 0.002024, 0.001774, 0.001703 }`. For quicker reference: - On current Nightly it is something like `{ 3.72243, 0.918169, 0.968143, 0.763256, 0.783424 }`. - On 0.9.5: `{ 0.002955, 0.000361, 0.000281, 0.000251, 0.00019 }`.
| * 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.
| * fix(diagnostic): open_float on multi-line diagnostics #28301Raphael2024-04-23
| | | | | | | | | | Problem: when diagnostic have a range of line, open_float not work. Solution: filter diagnostic by line number range.
| * vim-patch:9.1.0366: filetype: ondir files are not recognizedChristian Clason2024-04-23
| | | | | | | | | | | | | | | | | | | | | | | | Problem: filetype: ondir files are not recognized Solution: Detect '.ondirrc' as ondir filetype (Jon Parise) closes: vim/vim#14604 https://github.com/vim/vim/commit/ea999037a41292b3d3e00700a87a82fe5d2c12b2 Co-authored-by: Jon Parise <jon@indelible.org>
| * vim-patch:9.1.0364: tests: test_vim9_builtin is a bit slow (#28466)zeertzjq2024-04-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: tests: test_vim9_builtin is a bit slow Solution: source tests from a buffer instead of writing and sourcing a file (Yegappan Lakshmanan) closes: vim/vim#14614 https://github.com/vim/vim/commit/22697b6179e38f3d321b1495ef17f06031a9c8f1 N/A patch: vim-patch:9.1.0299: Vim9: return type not set for a lambda assigned to script var Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
| * 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>
| * vim-patch:9.1.0365: Crash when typing many keys with D- modifier (#28464)zeertzjq2024-04-23
| | | | | | | | | | | | | | | | | | Problem: Crash when typing many keys with D- modifier (after 9.1.0227). Solution: Don't treat a 0x80 byte inside a special sequence as the start of a special sequence (zeertzjq). closes: vim/vim#14613 https://github.com/vim/vim/commit/6b13e3d4e46393b3a35eed7c27ae020bcbd46a9b
| * fix(tui): disable DECRQM and DECRQSS queries for Terminal.app (#28453)Yoshimasa Niwa2024-04-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | **Problems** When launching Neovim on Terminal.app on macOS (Apple Terminal), it briefly shows like `p$qm+q5463;524742;73657472676266;73657472676262$qm` in orange background color partially on the screen. **Solution** Since Terminal.app seems not supporting DECRQM and DECRQSS queries, calling `tui_request_term_mode` and `tui_query_extended_underline` caused this unexpected output. Therefore, if we know it's Apple Terminal (when `nsterm` is `true`), don't call these checks. Tested on Terminal.app (2.14, 453) on macOS 14.4.1. Co-authored-by: zeertzjq <zeertzjq@outlook.com> Co-authored-by: Gregory Anders <greg@gpanders.com>
| * fix(lsp): avoid assertion when `client_hints` do not exist (#28461)Yi Ming2024-04-22
| |
| * vim-patch:9.1.0357: Page scrolling should place cursor at window boundaries ↵luukvbaal2024-04-22
| | | | | | | | | | | | | | | | | | | | (#28429) Problem: Page scrolling does not always place the cursor at the top or bottom of the window (Mathias Rav) Solution: Place the cursor at the top or bottom of the window. (Luuk van Baal) https://github.com/vim/vim/commit/4b6b0c4024df08dd8ce49dff3c76356ff81190c4
| * fix(completion): check that healthcheck name is string (#28458)zeertzjq2024-04-22
| |
| * Merge pull request #28434 from glepnir/23120bfredl2024-04-22
| |\ | | | | | | fix(float): wrong position when bufpos is out of range
| | * fix(float): wrong position when bufpos is setglepnir2024-04-21
| | | | | | | | | | | | | | | | | | Problem: when lnum in bufpos is out of range the position of float is wired. Solution: avoid the height value out of buffer line range.
| * | 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
| * | fix(window): don't go to unfocusable float when closing (#28455)zeertzjq2024-04-22
| | |
| * | Merge #28450 deprecate tbl_flattenJustin M. Keyes2024-04-21
| |\ \
| | * | fix: unreliable "checkhealth completions" testJustin M. Keyes2024-04-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ref https://github.com/neovim/neovim/issues/19596 FAILED test/functional/plugin/health_spec.lua @ 37: :checkhealth completions can be listed via getcompletion() test/functional/plugin/health_spec.lua:40: Expected objects to be the same. Passed in: (string) 'provider.node' Expected: (string) 'provider.clipboard' stack traceback: test/functional/plugin/health_spec.lua:40: in function <test/functional/plugin/health_spec.lua:37>
| | * | 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:9.1.0363: tests: test_winfixbuf is a bit slow (#28446)zeertzjq2024-04-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: tests: test_winfixbuf is a bit slow Solution: use defer if possible, reset hidden option, use --not-a-term when starting Vim using system() (Yegappan Lakshmanan) closes: vim/vim#14611 https://github.com/vim/vim/commit/4baf908d60e526737090701048a09aa474fde73d Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
| * | 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>
| * | Merge #28440 rename tbl_islist, tbl_isarrayJustin M. Keyes2024-04-21
| |\ \
| | * | 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