aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* feat(win32): embed executable iconalex-tdrn2024-07-02
| | | | | | | | Problem: on windows, the neovim executable (and thus the filetypes associated to open with neovim) has no embedded icon Solution: create a windows resource file pointing to the icon, and add it to the nvim binary target
* build(deps): fix formatc target on MSVCdundargoc2024-07-02
| | | | | | | | Set CMAKE_RUNTIME_OUTPUT_DIRECTORY for CMAKE_ARGS for the uncrustify ExternalProject to point to DEPS_BIN_DIR because the uncrustify cmake sources do not install to DESTDIR/bin under MSVC but to DESTDIR. Signed-off-by: Rafael Kitover <rkitover@gmail.com>
* fix(runtime): update b:undo_ftplugin in Lua runtime files (#29529)zeertzjq2024-07-01
| | | | Related to #29506, but adding vim.treesitter.stop() to b:undo_ftplugin doesn't solve the problem yet.
* feat(jumplist): allow opting out of removing unloaded buffers (#29347)zeertzjq2024-06-30
| | | | Problem: Cannot opt out of removing unloaded buffers from the jumplist. Solution: Only enable that with "unload" flag in 'jumpoptions'.
* refactor: remove special handling for lowercase German sharp sdundargoc2024-06-29
| | | | | | utf8proc already defines LATIN CAPITAL LETTER SHARP S (ẞ) to be the uppercase variant of LATIN SMALL LETTER SHARP S (ß), so this special workaround when using `gU` is no longer needed on the neovim side.
* Merge pull request #29467 from bfredl/shadapack2bfredl2024-06-29
|\ | | | | refactor(shada): don't use msgpack_packer for shada
| * refactor(shada): don't use msgpack_packer for shadabfredl2024-06-27
| | | | | | | | | | Now msgpack-c is never used for packing. The real fun part will be replacing it for unpacking.
* | refactor: remove special-case conversion for german sharp sdundargoc2024-06-29
| | | | | | | | | | The comment "German sharp s is lower case but has no upper case equivalent." is no longer true and is therefore not needed anymore.
* | refactor: use `vim._with` where possibledundargoc2024-06-28
| | | | | | | | | | This mostly means replacing `nvim_buf_call` and `nvim_win_call` with `vim._with`.
* | refactor: replace utf_convert with utf8proc conversion functionsdundargoc2024-06-28
| |
* | build: add utf8proc as dependencydundargoc2024-06-28
|/ | | | | | | | | utf8proc contains all the data which is currently in unicode_tables.generated.h internally, but in quite a different format. Ideally unicode_tables.generated.h should be removed as well so we rely solely on utf8proc. We want to avoid a situation where the possibility of unicode mismatch occurs, e.g a distro using both unicode 12 and unicode 13.
* Merge pull request #29483 from bfredl/nonbinarybfredl2024-06-27
|\ | | | | refactor(typval)!: remove binary distinction of binary and nonbinary strings
| * refactor(typval)!: remove distinction of binary and nonbinary stringsbfredl2024-06-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a breaking change which will make refactor of typval and shada code a lot easier. In particular, code that would use or check for v:msgpack_types.binary in the wild would be broken. This appears to be rarely used in existing plugins. Also some cases where v:msgpack_type.string would be used to represent a binary string of "string" type, we use a BLOB instead, which is vimscripts native type for binary blobs, and already was used for BIN formats when necessary. msgpackdump(msgpackparse(data)) no longer preserves the distinction of BIN and STR strings. This is very common behavior for language-specific msgpack bindings. Nvim uses msgpack as a tool to serialize its data. Nvim is not a tool to bit-perfectly manipulate arbitrary msgpack data out in the wild. The changed tests should indicate how behavior changes in various edge cases.
* | fix(lsp): pre-filter matches on label if filterText is missing (#29491)Mathias Fußenegger2024-06-27
| | | | | | | | | | | | | | | | | | | | | | Although the built-in pum completion mechanism will filter anyway on the next input it is odd if the initial popup shows entries which don't match the current prefix. Using fuzzy match on the label/prefix is compatible with `completeopt+=fuzzy` and also doesn't seem to break postfix snippet cases Closes https://github.com/neovim/neovim/issues/29287
* | fix(lsp): avoid vim.keymap.del error when stopping a client (#29478)Matt Fellenz2024-06-26
| |
* | Merge pull request #29280 from echasnovski/with-owobogodundargoc2024-06-26
|\ \ | | | | | | Add several updates to `vim._with` (tests, granular option contexts, `env` context)
| * | feat(lua): add `context.env` (environment variables) to `vim._with()`Evgeni Chasnovski2024-06-24
| | |
| * | feat(lua): update `vim._with` to allow more granular option contextsEvgeni Chasnovski2024-06-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: with a single `context.options` there is no way for user to force which scope (local, global, both) is being temporarily set and later restored. Solution: replace single `options` context with `bo`, `go`, `wo`, and `o`. Naming and implementation follows how options can be set directly with `vim.*` (like `vim.bo`, etc.). Options are set for possible target `win` or `buf` context.
| * | test(lua): cover `vim._with()` with testsEvgeni Chasnovski2024-06-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: `vim._with()` has many different use cases which are not covered with tests. Solution: cover with tests. Some (many) test cases are intentionally marked as "pending" because they cover cases which don't work as expected at the moment (and fixing them requires specific knowledge of C codebase). Use them as a reference for future fixes. Also some of "can be nested" tests currently might pass only because the tested context doesn't work.
* | | ci(lintcommit): allow capitalized letter after colon in description (#29480)zeertzjq2024-06-26
| |/ |/|
* | vim-patch:9.1.0516: need more tests for nested dicts and list comparison ↵Yinzuo Jiang2024-06-25
| | | | | | | | | | | | | | | | | | | | | | | | | | (#29481) Problem: need more tests for nested dicts and list comparison Solution: Add tests for comparing deeply nested List/Dict values (Yegappan Lakshmanan) closes: vim/vim#15081 https://github.com/vim/vim/commit/88bbdb04c2776ba69b8e5da58051fd94f8842b03 Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* | vim-patch:62f7b55: runtime(netrw): save and restore register 0-9, a and ↵zeertzjq2024-06-25
| | | | | | | | | | | | | | | | | | unnamed (#29479) fixes: vim/vim#15077 https://github.com/vim/vim/commit/62f7b55c1a4564f8744af9446bc7af47fe16a245 Co-authored-by: Christian Brabandt <cb@256bit.org>
* | vim-patch:ecd642a: runtime(doc): clarify, that register 1-9 will always be ↵zeertzjq2024-06-25
|/ | | | | | | | | shifted (#29476) related: vim/vim#15077 https://github.com/vim/vim/commit/ecd642af43dc496e92020422fded717e095d4bc1 Co-authored-by: Christian Brabandt <cb@256bit.org>
* feat(lsp): vim.lsp.buf.format() supports textDocument/rangesFormatting #27323Tom Praschan2024-06-24
| | | | | | | | | | While this relies on a proposed LSP 3.18 feature, it's fully backwards compatible, so IMO there's no harm in adding this already. Looks like some servers already support for this e.g. - gopls: https://go-review.googlesource.com/c/tools/+/510235 - clangd: https://github.com/llvm/llvm-project/pull/80180 Fixes #27293
* refactor(filetype): change some patterns to extensions (#29472)zeertzjq2024-06-24
| | | Ref #29468
* perf(treesitter): remove unnecessary foldexpr loopRiley Bruins2024-06-24
| | | | | | Instead of looping over all captured nodes, just take the end range from the last node in the list. This uses the fact that nodes returned by iter_matches are ordered by their range (earlier to later).
* Merge pull request #29358 from bfredl/typvalpackbfredl2024-06-24
|\ | | | | refactor(typval): don't use msgpack_packer for msgpackdump()
| * refactor(typval): don't use msgpack_packer for msgpackdump()bfredl2024-06-24
|/ | | | Step towords completely eliminating msgpack_packer.
* fix(treesitter): do not modify highlight state for _on_spell_navLuuk van Baal2024-06-24
| | | | | | | | Problem: Treesitter highlighter clears the already populated highlight state when performing spell checking while drawing a smoothscrolled topline. Solution: Save and restore the highlight state in the highlighter's _on_spell_nav callback.
* vim-patch:01a4fb1: runtime(java): Compose "g:java_highlight_signature" and ↵Christian Clason2024-06-23
| | | | | | | | | | | | | | | | | "g:java_highlight_functions" With the variables defined, distinctly highlight parts of a method declaration header: its name and parameter list parens, from its type parameters, return type, and formal parameters; and distinctly highlight parts of a lambda expression: its parameter list parens and the arrow, from its formal parameters and identifiers. closes: vim/vim#15083 https://github.com/vim/vim/commit/01a4fb104dbee6a8b7ef20394a2a7c5b49cf49ca Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
* fix(gen_vimdoc): correctly generate function fieldsTheLeoP2024-06-22
|
* fix(filetype): source ftdetect/* after creating scripts.vim autocmds (#29445)zeertzjq2024-06-22
|
* vim-patch:fc64ac0: runtime(vim): Update base-syntax, fix function tail ↵zeertzjq2024-06-22
| | | | | | | | | | | | | | | comments (#29450) Match Vim9-script comments after :def and :enddef and legacy-script comments after :func and :endfunc, in any definition context. Highlight incorrect comment types after these commands as errors. fixes: vim/vim#15062 closes: vim/vim#15072 https://github.com/vim/vim/commit/fc64ac0be2c4f9446798de4d66b029526d1afa85 Co-authored-by: Doug Kearns <dougkearns@gmail.com>
* vim-patch:9.1.0506: filetype: .envrc & .prettierignore not recognizedChristian Clason2024-06-21
| | | | | | | | | | | | | | | | Problem: filetype: .envrc & .prettierignore not recognized Solution: Detect '.envrc' as shell and '.prettierignore' as gitignore filetype (Tyler Miller) Support ft detection for `.envrc` files used by direnv, and `.prettierignore` files used by prettier. closes: vim/vim#15053 resolves: neovim/neovim#29405 https://github.com/vim/vim/commit/49012cd8c2fb0452847e5d213b07aa8a978f4762 Co-authored-by: Tyler Miller <tmillr@proton.me>
* vim-patch:17e0a19: runtime(scheme): update runtime filesChristian Clason2024-06-21
| | | | | | | | | | | Add TODO highlighting, disable text-wrapping, add "define-library" to lispwords on CHICKEN. Update MAINTAINERS. closes: vim/vim#15063 https://github.com/vim/vim/commit/17e0a1969da4e70771435fc7fa9d8c96d25c8b00 Co-authored-by: Evan Hanson <evhan@foldling.org>
* vim-patch:beb02ed: runtime(java): Optionally highlight parameterised typesChristian Clason2024-06-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the presence of parameterised types whose names begin with a capital letter and end with a less-than sign "<" that introduces a type argument or a list of comma-separated type arguments, followed by a greater-than sign ">", a variable "g:java_highlight_generics" can be defined to have some components of such types uniformly coloured (by picking highlight groups for javaGenericsC{1,2}, javaWildcardBound). For example, ------------------------------------------------------------ java.io.InputStream stream = java.io.InputStream.nullInputStream(); java.util.function.Function<String, java.util.function.BiFunction<String, String, String>> updater = property -> (oldValue, newValue) -> oldValue; java.util.logging.LogManager.getLogManager() .updateConfiguration(stream, updater); ------------------------------------------------------------ Note that the diamond form and explicit type arguments do not qualify for this kind of recognition. For example, ------------------------------------------------------------ new java.util.HashSet<>().<String>toArray(new String[0]); ------------------------------------------------------------ References: https://docs.oracle.com/javase/specs/jls/se21/html/jls-4.html#jls-4.5 https://docs.oracle.com/javase/specs/jls/se21/html/jls-15.html#jls-15.9 https://docs.oracle.com/javase/specs/jls/se21/html/jls-15.html#jls-15.12.2.1 closes: vim/vim#15050 https://github.com/vim/vim/commit/beb02ed674bc61f179c4ff71e93bdeeb44fe9c4e Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
* vim-patch:9.1.0512: Mode message for spell completion doesn't match allowed ↵zeertzjq2024-06-21
| | | | | | | | | | | | | | | | | | keys (#29437) Problem: Mode message for spell completion doesn't match allowed keys (Kyle Kovacs) Solution: Show "^S" instead of "s". (zeertzjq) This matches the code in vim_is_ctrl_x_key(): case CTRL_X_SPELL: return (c == Ctrl_S || c == Ctrl_P || c == Ctrl_N); fixes: neovim/neovim#29431 closes: vim/vim#15065 https://github.com/vim/vim/commit/7002c055d560ae0b3bb1e24ad409390a5443daad
* Merge pull request #29436 from zeertzjq/vim-9.1.0507zeertzjq2024-06-21
|\ | | | | vim-patch:9.1.{0507,0511}: CursorMovedC autocommand
| * vim-patch:9.1.0511: CursorMovedC triggered wrongly with setcmdpos()zeertzjq2024-06-21
| | | | | | | | | | | | | | | | | | | | | | Problem: CursorMovedC triggered wrongly with setcmdpos() (after v9.1.0507) Solution: Remove the premature triggering. Also don't trigger when cursor didn't move. (zeertzjq) closes: vim/vim#15064 https://github.com/vim/vim/commit/bc6f96708e3678dbb27ec4192d87cf94a15d4e9a
| * vim-patch:9.1.0507: hard to detect cursor movement in the command linezeertzjq2024-06-21
|/ | | | | | | | | | | | Problem: hard to detect cursor movement in the command line Solution: Add the CursorMovedC autocommand (Shougo Matsushita) closes: vim/vim#15040 https://github.com/vim/vim/commit/d09521476f41dd8dbddb25b7acd0b299f9bf94d3 Co-authored-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
* vim-patch:6ccf6da: runtime(gomod): add gomod filetype plugin (#29433)yuyk2024-06-21
| | | | | closes: vim/vim#15060 https://github.com/vim/vim/commit/6ccf6da7a2a7a0b9d1e23a905b091d762e911609
* fix(treesitter): don't open fold when o/O adds a line below #28709Jaehwang Jung2024-06-20
| | | | | | | | | | | Problem: `o`-ing on a folded line opens the fold, because the new line gets the fold level from the above line (level '='), which extends the fold to the new line. `O` has a similar problem when run on the line below a fold. Solution: Use -1 for the added line to get the lower level from the above/below line.
* build(vim-patch.sh): don't ignore changes to version*.txt (#29425)zeertzjq2024-06-20
| | | | | | | Suggest adding them to news.txt instead. Also don't ignore changes to intro.txt and sponsor.txt, as they don't change much these days, and it's necessary to consider whether to include their changes in Nvim's intro.txt.
* vim-patch:9.1.0505: filetype: Faust files are not recognized (#29426)zeertzjq2024-06-20
| | | | | | | | | | | | Problem: filetype: Faust files are not recognized Solution: Detect '*.lib' files as Faust filetype, add detection for '*.dsp' files (Faust or Make), remove '*.lib' from Cobol filetype (PowerUser64) closes: vim/vim#14894 https://github.com/vim/vim/commit/aa61b8a9087e9cd999ef07e0d87b60f43d68f2c6 Co-authored-by: PowerUser64 <blake@blakenorth.net>
* vim-patch:94c5d8a: runtime(java): Remove the group exclusion list from @javaTopChristian Clason2024-06-20
| | | | | | | | | | | Instances of anonymous classes can be passed as method arguments and should be subject to line folding as well. closes: vim/vim#15048 https://github.com/vim/vim/commit/94c5d8a5e20e1dd8c9e8434ee14e368276644f61 Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
* Merge pull request #29413 from jiangyinzuo/vim-patch-9.1.0497zeertzjq2024-06-20
|\ | | | | vim-patch:partial:9.1.{0497,0501}: termdebug can be further improved
| * vim-patch:partial:9.1.0501: too complicated mapping restore in termdebugYinzuo Jiang2024-06-20
| | | | | | | | | | | | | | | | | | | | | | | | Problem: too complicated mapping restore in termdebug Solution: simplify unmapping logic, add a few more tests (Ubaldo Tiberi) closes: vim/vim#15046 https://github.com/vim/vim/commit/46f2823807741ac91c51cf36ddabf293db26ab41 Co-authored-by: Ubaldo Tiberi <ubaldo.tiberi@google.com>
| * vim-patch:partial:9.1.0497: termdebug can be further improvedYinzuo Jiang2024-06-19
| | | | | | | | | | | | | | | | | | | | | | | | Problem: termdebug can be further improved Solution: refactor save/restore, update docs, add a new save/restore test (Ubaldo Tiberi) closes: vim/vim#15032 https://github.com/vim/vim/commit/a48637c105ce5ccf6f3296958c889d15dc3faaa4 Co-authored-by: Ubaldo Tiberi <ubaldo.tiberi@google.com>
* | vim-patch:9.1.0504: inner-tag textobject confused about ">" in attributes ↵zeertzjq2024-06-20
| | | | | | | | | | | | | | | | | | | | | | | | | | (#29420) Problem: inner-tag textobject confused about ">" in attributes Solution: Skip over quoted '>' when determining the start position fixes: vim/vim#15043 closes: vim/vim#15049 https://github.com/vim/vim/commit/ca7f93e6f351b310c17cfc8f88acf21c839d6116 Co-authored-by: Christian Brabandt <cb@256bit.org>
* | vim-patch:aeca717: runtime(nohlsearch): simplify mappingChristian Clason2024-06-19
| | | | | | | | | | | | | | | | | | | | Use <cmd> instead of <expr> with execute(...)[-1] closes: vim/vim#15047 https://github.com/vim/vim/commit/aeca7176f3b7bdc2d698938062f6cad802fea783 Co-authored-by: Maxim Kim <habamax@gmail.com>