aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
| | * vim-patch:9.1.0730: Crash with cursor-screenline and narrow windowzeertzjq2024-09-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Crash with cursor-screenline and narrow window (elig0n) Solution: Don't set right_col when width2 is 0 (zeertzjq). fixes: vim/vim#15677 closes: vim/vim#15678 https://github.com/vim/vim/commit/59149f02692804267e7cc0665d0334f6ff4675be
| | * vim-patch:9.1.0729: Wrong cursor-screenline when resizing windowzeertzjq2024-09-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Wrong cursor-screenline when resizing window Solution: Invalidate saved left_col and right_col when width1 or width2 change. closes: vim/vim#15679 https://github.com/vim/vim/commit/86dc4f8b432233a01d022c3e71df53db58229713
| * | vim-patch:9.1.0728: [security]: heap-use-after-free in garbage collection ↵zeertzjq2024-09-14
| |/ | | | | | | | | | | | | | | | | | | | | | | | | with location list user data (#30377) Problem: heap-use-after-free in garbage collection with location list user data. Solution: Mark user data as in use when no other window is referencing the location list (zeertzjq) fixes: neovim/neovim#30371 closes: vim/vim#15683 https://github.com/vim/vim/commit/be4bd189d23854ddf1d85ad291d8f7ad3f22b7a0
| * fix(defaults): cannot remove "How-to disable mouse" menu item #30375Jaehwang Jung2024-09-14
| |
| * ci: skip automerge step if backport faileddundargoc2024-09-14
| |
| * fix(lsp): handle nil bytes in stringsMathias Fussenegger2024-09-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: The LSP omnifunc can insert nil bytes, which when read in other places (like semantic token) could cause an error: semantic_tokens.lua:304: Vim:E976: Using a Blob as a String Solution: Use `#line` instead of `vim.fn.strlen(line)`. Both return UTF-8 bytes but the latter can't handle nil bytes. Completion candidates can currently insert nil bytes, if other parts of Alternative fix to https://github.com/neovim/neovim/pull/30359 Note that https://github.com/neovim/neovim/pull/30315 will avoid the insertion of nil bytes from the LSP omnifunc, but the change of this PR can more easily be backported.
| * ci: don't add reviewers for PRs created by a botdundargoc2024-09-13
| | | | | | | | | | | | | | This will ensure automatic backports created by the backport action does not request reviewers (since the commit in question has already been vetted and merged), but manual backports created by users does request reviewers as these commits has not been vetted previously.
| * ci: add `needs:backport` label on backport PRs with conflictdundargoc2024-09-13
| | | | | | | | | | This makes it easy to keep track of which backport PRs have failed and need manual intervention to fix.
| * build: bump unibilium to v2.1.2dundargoc2024-09-13
| | | | | | | | | | There is no real practical difference from previous commit except that this is a tagged release.
| * feat(treesitter): start moving get_parser to return nil #30313Riley Bruins2024-09-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | **Problem:** `vim.treesitter.get_parser` will throw an error if no parser can be found. - This means the caller is responsible for wrapping it in a `pcall`, which is easy to forget - It also makes it slightly harder to potentially memoize `get_parser` in the future - It's a bit unintuitive since many other `get_*` style functions conventionally return `nil` if no object is found (e.g. `get_node`, `get_lang`, `query.get`, etc.) **Solution:** Return `nil` if no parser can be found or created - This requires a function signature change, and some new assertions in places where the parser will always (or should always) be found. - This commit starts by making this change internally, since it is breaking. Eventually it will be rolled out to the public API.
| * fix(lsp): handle empty call hierarchy items #30349James Trew2024-09-13
| | | | | | | | | | Ensure that the function `pick_call_hierarchy_item` correctly handles the case where `call_hierarchy_items` is nil or an empty table. This prevents potential errors when the function is called with no items.
| * ci: enable automerge by default when backportingdundargoc2024-09-13
| | | | | | | | | | This will automatically merge backported PRs without human intervention if the tests pass.
| * refactor(stream.c): unused params in stream_close #30356Justin M. Keyes2024-09-12
| |
| * fix(treesitter): sync queries from upstreamChristian Clason2024-09-12
| |
| * build(deps): bump tree-sitter-c to v0.23.0Christian Clason2024-09-12
| |
| * build(deps): bump tree-sitter-markdown to v0.3.2Christian Clason2024-09-12
| |
| * build(deps): bump tree-sitter-lua to v0.2.0Christian Clason2024-09-12
| |
| * vim-patch:9.1.0725: filetype: swiftinterface files are not recognized (#30350)zeertzjq2024-09-12
| | | | | | | | | | | | | | | | | | | | | | Problem: filetype: swiftinterface files are not recognized Solution: Detect '*.swiftinterface' files as swift filetype (LosFarmosCTL) closes: vim/vim#15658 https://github.com/vim/vim/commit/03cac4b70d819148f4b4404701b8f331a3af0fb6 Co-authored-by: LosFarmosCTL <80157503+LosFarmosCTL@users.noreply.github.com>
| * feat(log): use "ui" as default name for TUI client #30345Justin M. Keyes2024-09-11
| | | | | | | | | | | | | | | | | | | | | | | | | | The default "session name" for the builtin TUI is "ui". before: INF 2024-09-10T14:57:35.385 hello.sock os_exit:692: Nvim exit: 1 INF 2024-09-10T14:57:35.388 ?.4543 os_exit:692: Nvim exit: 1 after: INF 2024-09-10T14:59:19.919 hello.sock os_exit:692: Nvim exit: 1 INF 2024-09-10T14:59:19.922 ui.5684 os_exit:692: Nvim exit: 1
| * fix: replace NVIM with Nvim in default titlestring (#30348)Gregory Anders2024-09-11
| |
| * fix(lsp): check buffer is loaded and valid #30330glepnir2024-09-11
| | | | | | | | | | Problem: buffer mabye not valid when callback handler invoke. Soliton: check buffer is valid and loaded in handler.
| * Merge #30342 :checkhealth completionJustin M. Keyes2024-09-11
| |\
| | * test(health): "test_plug/health/init.lua" completes as "test_plug"Justin M. Keyes2024-09-11
| | |
| | * fix(health): return correct name from 'path2name()'monkoose2024-09-11
| | | | | | | | | `path2name()` function doesn't process `'pluginname/health/init.lua'` correctly. Instead of retruning `'pluginname'` it returns `'pluginname.health'`
| * | build(deps): bump unibilium to HEAD - ab28a2ddbChristian Clason2024-09-11
| | |
| * | fix(scripts): update bundled dependencies in bump_depsChristian Clason2024-09-11
| | |
| * | vim-patch:fc72a2f: runtime(idlang): update syntax scriptChristian Clason2024-09-11
| | | | | | | | | | | | | | | | | | | | | | | | closes: vim/vim#15419 https://github.com/vim/vim/commit/fc72a2fa4898d6d2f60695339d597672a4c0b7c5 Co-authored-by: Joe Sapp <992873+sappjw@users.noreply.github.com>
| * | vim-patch:e401576: runtime(spec): Recognize epoch when making spec changelog ↵Christian Clason2024-09-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in ftplugin closes: vim/vim#15537 https://github.com/vim/vim/commit/e40157641c1ddb9cc805c04ca23fb80a6382a349 Co-authored-by: fundawang <fundawang@yeah.net>
| * | vim-patch:2241f08: runtime(spec): add file triggers to syntax scriptChristian Clason2024-09-11
| | | | | | | | | | | | | | | | | | | | | | | | closes: vim/vim#15569 https://github.com/vim/vim/commit/2241f0845fcb2ff362f34abd756cedf239e50b55 Co-authored-by: fundawang <fundawang@yeah.net>
| * | vim-patch:077d1d2: runtime(make): add compiler/make.vim to reset compiler ↵Christian Clason2024-09-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | plugin settings closes: vim/vim#15645 https://github.com/vim/vim/commit/077d1d2cff20daec6f1efd504ef27fc09b927799 Co-authored-by: Konfekt <Konfekt@users.noreply.github.com> Co-authored-by: K.Takata <kentkt@csc.jp>
| * | vim-patch:a9ae38d: runtime(java): Recognise all available standard doclet tagsChristian Clason2024-09-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Complement the tag set with @spec, {@systemProperty}, {@summary}, @provides, @uses, @hidden, and {@index}. * Do not hoard all tags under a single highlighting group. * Skip over nested balanced braces in inline tags. * Observe that tag names are case sensitive: both {@docRoot} and {@inheritDoc} are valid, whereas {@inheritdoc} and {@docroot} are not. * In the @see tag arguments, allow for: - module name prefixes (e.g. java.base/java.lang.String); - references to arbitrary URI fragments (e.g. ##foo); - matching any tag variation arguments on the next line. * Test directives and tags for Java module declarations. * Enforce the word end for "module-info" candidates. References: https://bugs.openjdk.org/browse/JDK-8226279 (@spec) https://bugs.openjdk.org/browse/JDK-8214559 ({@systemProperty}) https://bugs.openjdk.org/browse/JDK-8173425 ({@summary}) https://bugs.openjdk.org/browse/JDK-8160196 (@provides & @uses) https://bugs.openjdk.org/browse/JDK-8073100 (@hidden) https://bugs.openjdk.org/browse/JDK-8044243 ({@index}) https://docs.oracle.com/en/java/javase/21/docs/specs/javadoc/doc-comment-spec.html https://github.com/openjdk/jdk/blob/jdk-21-ga/src/jdk.compiler/share/classes/com/sun/source/doctree/DocTree.java closes: vim/vim#15652 https://github.com/vim/vim/commit/a9ae38dc3f42f0dd39dae1311de6e1c289697df4 Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
| * | vim-patch:c0982f9: runtime(dosini): Update syntax script, spellcheck ↵Christian Clason2024-09-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | comments only By default spell checking is enabled for all text, but adding `contains=@Spell` to syntax rules restricts spell checking to those syntax rules. See `:help spell-syntax` for full details. Variable names and headers are far more likely than comments to contain spelling errors, so only enable spell checking in comments. Introduced in https://github.com/xuhdev/syntax-dosini.vim/pull/8 cc @tobinjt closes: vim/vim#15655 https://github.com/vim/vim/commit/c0982f9f794a4c5737d3d7a3129b3121ab20e458 Co-authored-by: John Tobin <johntobin@johntobin.ie>
| * | vim-patch:d30ffdc: runtime(pandoc): Update compiler plugin to use actual ↵Christian Clason2024-09-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'spelllang' Previously these would be cached in buffer-local variables and would not change on :compiler pandoc closes: vim/vim#15642 https://github.com/vim/vim/commit/d30ffdca495d116da359aaea806ad0da7b4b6c75 Co-authored-by: Christian Brabandt <cb@256bit.org>
| * | vim-patch:7cc0e91: runtime(groff): Add compiler plugin for groffChristian Clason2024-09-11
| |/ | | | | | | | | | | | | | | | | | | | | | | Groff MOM (Macros for Manuscripts) is a macro package for the GNU troff (groff) typesetting system, a light-weight alternative to LaTeX for professional-quality documents. closes: vim/vim#15646 https://github.com/vim/vim/commit/7cc0e9145dbd6b25de849b3c218e51fb689e6dfc Co-authored-by: Konfekt <Konfekt@users.noreply.github.com>
| * vim-patch:9.1.0727: too many strlen() calls in option.c (#30338)zeertzjq2024-09-10
| | | | | | | | | | | | | | | | | | | | | | Problem: too many strlen() calls in option.c Solution: refactor the code to reduce the number of strlen() calls (John Marriott) closes: vim/vim#15604 https://github.com/vim/vim/commit/95dacbb5fd53f76a7e369c554aaa02e86b81eca8 Co-authored-by: John Marriott <basilisk@internode.on.net>
| * test: add termkey unit testsdundargoc2024-09-11
| | | | | | | | | | | | | | | | | | | | | | Skipped importing the following unit tests from libtermkey as they'd require introducing a lot of unused code or require more effort to port than is probably worth: - 05read - 12strpkey - 20canon - 40ti-override
| * vim-patch:d657d3d: runtime(doc): clarify the effect of the timeout for ↵zeertzjq2024-09-11
| | | | | | | | | | | | | | | | | | | | search()-functions (#30337) related: vim/vim#15657 related: vim/vim#15404 https://github.com/vim/vim/commit/d657d3d8fd635dbd78402358788dc58a96d04117 Co-authored-by: Christian Brabandt <cb@256bit.org>
| * Merge pull request #30295 from glepnir/nfloatbfredl2024-09-10
| |\ | | | | | | fix(highlight): floating windows inherit NormalFloat from global-ns
| | * fix(highlight): floating windows inherit NormalFloat from global-nsglepnir2024-09-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: floating windows did not correctly inherit the NormalFloat highlight group from the global namespace when it was not defined in the window-specific namespace. This led to floating windows losing their background highlight when switching between namespaces. Solution: Updated the window highlight logic in update_window_hl() to handle the fallback. This fix resolves issues with floating window backgrounds not displaying as expected in certain namespace configurations.
| * | refactor(os/input.c): rename os_inchar => input_get #30327Justin M. Keyes2024-09-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: The name `os_inchar` (from Vim's old `mch_inchar`) is ambiguous: "inchar" sounds like it could be reading or enqueuing (setting) input. Its docstring is also ambiguous. Solution: - Rename `os_inchar` to `input_get`. - Write some mf'ing docstrings. - Add assert() in TRY_READ().
| * | fix(lsp): handle encoding bounds in str_utfindex_enctris2032024-09-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: str_utfindex_enc could return an error if the index was longer than the line length. This was handled in each of the calls to it individually Solution: * Fix the call at the source level so that if the index is higher than the line length, utf length is returned
| * | fix(runtime): add remaining missing commentstrings (#30252)LosFarmosCTL2024-09-10
| | |
| * | fix(server): CID 509282: DEADCODE #30316Justin M. Keyes2024-09-09
| | | | | | | | | listen_addr cannot be NULL at this point.
| * | Merge #30312 from justinmk/testslashesJustin M. Keyes2024-09-09
| |\ \
| | * | fix(test): "tempdir not a directory" in CI logsJustin M. Keyes2024-09-09
| | | | | | | | | | | | | | | | | | | | | | | | $NVIM_LOG_FILE: /Users/runner/work/neovim/neovim/build/.nvimlog WRN 2024-09-08T21:48:13.279 ?.21134 vim_mktempdir:3281: $TMPDIR tempdir not a directory (or does not exist): TMPDIR-should-be-ignored WRN 2024-09-08T21:48:13.312 ?.21137 vim_mktempdir:3281: $TMPDIR tempdir not a directory (or does not exist): TMPDIR-should-be-ignored
| | * | refactor(test): rename alter_slashes, invert its behaviorJustin M. Keyes2024-09-09
| |/ / | | | | | | | | | | | | | | | | | | - `alter_slashes` belongs in `testutil.lua`, not `testnvim.lua`. - `alter_slashes` is an unusual name. Rename it to `fix_slashes`. - invert its behavior, to emphasize that `/` slashes are the preferred, pervasive convention, not `\` slashes.
| * | fix(startup): server fails if $NVIM_APPNAME is relative dir #30310Justin M. Keyes2024-09-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: If $NVIM_APPNAME is a relative dir path, Nvim fails to start its primary/default server, and `v:servername` is empty. Root cause is d34c64e342dfba9248d1055e702d02620a1b31a8, but this wasn't noticed until 96128a5076b7 started reporting the error more loudly. Solution: - `server_address_new`: replace slashes "/" in the appname before using it as a servername. - `vim_mktempdir`: always prefer the system-wide top-level "nvim.user/" directory. That isn't intended to be specific to NVIM_APPNAME; rather, each *subdirectory* ("nvim.user/xxx") is owned by each Nvim instance. Nvim "apps" can be identified by the server socket(s) stored in those per-Nvim subdirs. fix #30256
| * | fix(lua): revert vim.tbl_extend behavior change and document itChristian Clason2024-09-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: vim.tbl_deep_extend had an undocumented feature where arrays (integer-indexed tables) were not merged but compared literally (used for merging default and user config, where one list should overwrite the other completely). Turns out this behavior was relied on in quite a number of plugins (even though it wasn't a robust solution even for that use case, since lists of tables (e.g., plugin specs) can be array-like as well). Solution: Revert the removal of this special feature. Check for list-like (contiguous integer indices) instead, as this is closer to the intent. Document this behavior.
| * | fix(startup): ignore broken $XDG_RUNTIME_DIR #30285Justin M. Keyes2024-09-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: $XDG_RUNTIME_DIR may be broken on WSL, which prevents starting (and even building) Nvim. #30282 Solution: - When startup fails, mention the servername in the error message. - If an autogenerated server address fails, log an error and continue with an empty `v:servername`. It's only fatal if a user provides a bad `--listen` or `$NVIM_LISTEN_ADDRESS` address. Before: $ nvim --headless --listen ./hello.sock nvim: Failed to --listen: "address already in use" $ NVIM_LISTEN_ADDRESS='./hello.sock' ./build/bin/nvim --headless nvim: Failed to --listen: "address already in use" After: $ nvim --headless --listen ./hello.sock nvim: Failed to --listen: address already in use: "./hello.sock" $ NVIM_LISTEN_ADDRESS='./hello.sock' ./build/bin/nvim --headless nvim: Failed $NVIM_LISTEN_ADDRESS: address already in use: "./hello.sock"
| * | fix(lsp): handle out-of-bounds character positions #30288Tristan Knight2024-09-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: str_byteindex_enc could return an error if the index was longer than the lline length. This was handled in each of the calls to it individually Solution: * Fix the call at the source level so that if the index is higher than the line length, line length is returned as per LSP specification * Remove pcalls on str_byteindex_enc calls. No longer needed now that str_byteindex_enc has a bounds check.