aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* Merge pull request #28563 from bfredl/ui_attach_pointbfredl2024-04-29
|\ | | | | perf(ui_client): skip some initialization not necessary for ui client
| * perf(ui_client): skip some initialization not necessary for ui clientbfredl2024-04-29
|/ | | | | In particular, TUI manages its own screen buffers and highlight table, so we don't need to run init_highlight() and default_grid_alloc() in the ui client process.
* fix(ui): activating all ext capabilities without remote UI #28555luukvbaal2024-04-28
|
* vim-patch:2e9b9e9a9ebfChristian Clason2024-04-29
| | | | | | | | runtime(asm): missing setlocal in indent plugin (vim/vim#14658) https://github.com/vim/vim/commit/2e9b9e9a9ebf3fd40437260ecd6b1e23b02c636b Co-authored-by: Marc Sven Schulte <167623652+msschulte@users.noreply.github.com>
* vim-patch:f351fd829204 (#28551)ObserverOfTime2024-04-29
| | | | | | | | runtime(ssa): improve syntax file performance (vim/vim#14654) fixes: vim/vim#14653 fixes: neovim/neovim#25950 https://github.com/vim/vim/commit/f351fd82920427b33a160cab9fdbc35ac1deb681
* vim-patch:9.1.0380: Calculating line height for unnecessary amount of lines ↵luukvbaal2024-04-29
| | | | | | | | | | | (#28553) Problem: Calculating line height for unnecessary amount of lines with half-page scrolling (zhscn, after 9.1.0280) Solution: Replace "limit_winheight" argument with higher resolution "max" argument to which to limit the calculated line height in plines_m_win() to (Luuk van Baal) https://github.com/vim/vim/commit/32d701f51b1ed2834071a2c5031a300936beda13
* feat(defaults): visual CTRL-R for LSP mappings #28537Justin M. Keyes2024-04-28
| | | | | | | | | | Problem: The new LSP "refactor menu" keybinding "crr" is also defined in visual mode, which overlaps with the builtin "c". Solution: Use CTRL-R instead of "crr" for visual mode. fix #28528
* feat(defaults): improve :grep defaults #28545Luna Saphie Mittelbach2024-04-28
| | | | | | Based on feedback from #28324, pass -H and -I to regular grep (available on all platforms officially supported by Neovim), and only pass -uu to ripgrep. This makes :grep ignore binary files by default in both cases.
* fix(diagnostic): get border from config (#28531)glepnir2024-04-28
| | | | Co-authored-by: Justin M. Keyes <justinkz@gmail.com> Co-authored-by: Gregory Anders <greg@gpanders.com>
* fix(treesitter): enforce lowercase language names (#28546)Christian Clason2024-04-28
| | | | | | | | | | | * fix(treesitter): enforce lowercase language names Problem: On case-insensitive file systems (e.g., macOS), `has_parser` will return `true` for uppercase aliases, which will then try to inject the uppercase language unsuccessfully. Solution: Enforce and assume parser names to be lowercase when resolving language names.
* fix(snippet): do not add extra indent on newlines (#28538)Mathias Fußenegger2024-04-28
| | | | | | | | | | | | | | | | | | | | | | | Reverts parts of https://github.com/neovim/neovim/pull/27674 LSP snippets typically do include tabs or spaces to add extra indentation and don't rely on the client using `autoindent` functionality. For example: public static void main(String[] args) {\n\t${0}\n} Notice the `\t` after `{\n` Adding spaces or tabs independent of that breaks snippets for languages like Haskell where you can have snippets like: ${1:name} :: ${2}\n${1:name} ${3}= ${0:undefined} To generate: name :: name = undefined
* Merge pull request #28532 from bfredl/regularizationbfredl2024-04-28
|\ | | | | refactor(build): make all generated c files headers
| * refactor(build): make all generated c files headersbfredl2024-04-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's no "rule" or bad practice or whatever that says we cannot generate c files. it is is just that we have ~20 generated headers and ~2 generated sources and there is nothing in these two generated source files which sets them aparts. Lua bindings are not different from rpc bindings, and pathdef is not different from versiondef. So to simplify build logic and ease the future port to build.zig, streamline the build to only have generated headers, no direct generated .c files. Also "nlua_add_api_functions" had its prototype duplicated twice which defeated the point of having mandatory prototypes (one source of truth).
* | docs: breaking change in diagnostic goto #28541Gregory Anders2024-04-27
| |
* | fix(diagnostic): invalid col number compare in next_diagnostic (#28397)Raphael2024-04-27
| | | | | | | | | | Problem: when line is blank link then there will got an invalid column number in math.min compare. Solution: make sure the min column number is 0 not an illegal number.
* | Merge #28522 handle ui_attach side effectsJustin M. Keyes2024-04-27
|\ \
| * | fix(ui): set 'cmdheight' to zero for all open tabpagesLuuk van Baal2024-04-27
| | | | | | | | | | | | | | | | | | Problem: Enabling ext_messages claims to set 'cmdheight' to zero, but only does so for the current tabpage. Solution: Set stored 'cmdheight' value to zero for all tabpages.
| * | fix(ui): update ext_ui widgets when attaching non-remote UILuuk van Baal2024-04-26
| | | | | | | | | | | | | | | | | | Problem: Updating internalized UI capabilities is postponed until a remote UI attaches. Solution: Always update active UI widgets in ui_refresh().
* | | vim-patch:92917069b1a8Christian Clason2024-04-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(debversions): Add oracular (24.10) as Ubuntu release name closes: vim/vim#14645 https://github.com/vim/vim/commit/92917069b1a89e0e6c253a585dfe0a19cc2c0699 Co-authored-by: Simon Quigley <simon@tsimonq2.net>
* | | vim-patch:9.1.0375: tests: 1-second delay after Test_BufEnter_botline() (#28534)zeertzjq2024-04-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: tests: 1-second delay after Test_BufEnter_botline() (after v9.1.0374) Solution: Wipe the created buffers (zeertzjq). closes: vim/vim#14647 https://github.com/vim/vim/commit/340643e9779a96710a27d0eeef24f2c08b8967c4
* | | 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:9.1.0374: wrong botline in BufEnter (#28530)zeertzjq2024-04-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: When :edit an existing buffer, line('w$') may return a wrong result. Solution: Reset w_valid in curwin_init() (Jaehwang Jung) `do_ecmd()` reinitializes the current window (`curwin_init()`) whose `w_valid` field may have `VALID_BOTLINE` set. Resetting `w_botline` without marking it as invalid makes subsequent `validate_botline()` calls a no-op, thus resulting in wrong `line('w$')` value. closes: vim/vim#14642 https://github.com/vim/vim/commit/eb80b8304efb6dfeaa8d01dd41fe281df4894240 Co-authored-by: Jaehwang Jung <tomtomjhj@gmail.com>
* | Merge pull request #28529 from zeertzjq/vim-fe1e2b5e2d65zeertzjq2024-04-27
|\ \ | | | | | | vim-patch: clarify syntax vs matching mechanism
| * | 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
| |
* | 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.