aboutsummaryrefslogtreecommitdiff
path: root/runtime
Commit message (Collapse)AuthorAge
* docs: misc (#29410)dundargoc2024-07-05
| | | | Co-authored-by: Michael Härtl <haertl.mike@gmail.com> Co-authored-by: zeertzjq <zeertzjq@outlook.com>
* vim-patch:3146d63: runtime(netrw): fix remaining case of register clobberChristian Clason2024-07-04
| | | | | | | | | | complements 62f7b55c1a4564f8744af9446bc7af47fe16a245 closes: vim/vim#15114 https://github.com/vim/vim/commit/3146d63267664e0a0afdbe14be0cec30e7168a04 Co-authored-by: Enno <Konfekt@users.noreply.github.com>
* vim-patch:11d5992: runtime(rust): use shiftwidth() in indent scriptChristian Clason2024-07-04
| | | | | | | | closes: vim/vim#15138 https://github.com/vim/vim/commit/11d599257310bb95a7d1a3537345ae26f36c6210 Co-authored-by: novenary <novenary@kwak.zip>
* fix(diagnostic): make docs agree with code (#29561)Peter Aronoff2024-07-04
| | | | | | | | | | | Problem: the code and docs for vim.diagnostic.JumpOpts.float send mixed signals about what the default should be. When the option is first set, in the global_diagnostic_options table, the comment clearly says that the default is false. Later in the code, in goto_diagnostic, there's a line that sets the default to true if no default is present. Finally, the docs say that the default is true. Solution: Change the docs to reflect the new default of false and fix the goto_diagnostic function.
* vim-patch:2fbcc15: runtime(terraform): Add filetype plugin for terraformChristian Clason2024-07-04
| | | | | | | | | | | | - Adds commentstring property for terraform - Adds comments property for terraform closes: vim/vim#15144 https://github.com/vim/vim/commit/2fbcc15cf93e8eb07d769ce301a33e10560af468 Co-authored-by: Janno Tjarks <janno.tjarks@mailbox.org> Co-authored-by: zeertzjq <zeertzjq@outlook.com>
* vim-patch:3d2a996: runtime(dockerfile): enable spellchecking of comments in ↵Christian Clason2024-07-04
| | | | | | | | | | syntax script closes: vim/vim#15147 https://github.com/vim/vim/commit/3d2a996267758284c85b893401d2e331496eb154 Co-authored-by: Kafva <36083692+Kafva@users.noreply.github.com>
* vim-patch:2606e77: runtime(doc): rename variable for pandoc markdown supportChristian Clason2024-07-04
| | | | | | | | fixes: vim/vim#15141 https://github.com/vim/vim/commit/2606e7718c49fc8221dfff21b36eff632ef668a0 Co-authored-by: Christian Brabandt <cb@256bit.org>
* fix(lua): use rawget() to get __call in vim.is_callable() (#29536)Tyler Miller2024-07-04
| | | | | Lua 5.1 uses a "raw get" to retrieve `__call` from a metatable to determine if a table is callable. Mirror this behavior in `vim.is_callable()`.
* fix(runtime): stop treesitter highlight in b:undo_ftplugin (#29533)zeertzjq2024-07-03
| | | | | | It seems that nvim-treesitter stops treesitter highlight when changing filetype, so it makes sense for builtin ftplugins to do this as well. Use :call and v:lua here to allow separation with '|'.
* fix(treesitter): ensure syntaxset augroup exists (#29542)zeertzjq2024-07-03
| | | | | | | | Problem: Error when calling vim.treesitter.start() and vim.treesitter.stop() in init.lua. Solution: Ensure syntaxset augroup exists after loading synload.vim.
* fix(lsp): fallback to `label` for completion items if all others are missing ↵Sebastian Lyng Johansen2024-07-02
| | | | (#29522)
* 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
* 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: use `vim._with` where possibledundargoc2024-06-28
| | | | | This mostly means replacing `nvim_buf_call` and `nvim_win_call` with `vim._with`.
* 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.
* | 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).
* 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(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.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.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: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>
* | fix(gen_help_html): handle delimiter, heading #29415Justin M. Keyes2024-06-19
| | | | | | | | | | | | | | | | | | | | Problem: vimdoc grammar added new forms that are not handled in our HTML generator. https://github.com/neovim/tree-sitter-vimdoc/pull/134 Solution: Update `gen_help_html.lua`. Fixes #29277
* | fix(diagnostics): don't apply extmarks to invalid lines #29321Riley Bruins2024-06-19
|/ | | | | | | | | | | Problem: If there are errors in the last line of a buffer, something like `Gdk` or `G2k3J` will produce an error (at least with `lua_ls`): Error executing vim.schedule lua callback: .../neovim/share/nvim/runtime/lua/vim/diagnostic.lua:1446: Invalid 'line': out of range Solution: Only set extmarks if the target buffer line still exists
* vim-patch:1ce65e3: runtime(csv): include a simple csv filetype and syntax ↵Christian Clason2024-06-19
| | | | | | | | | | | | plugin (#29395) * vim-patch:1ce65e3: runtime(csv): include a simple csv filetype and syntax plugin fixes: vim/vim#15038 https://github.com/vim/vim/commit/1ce65e35ac6555054db1276e30d9d63421e6b346 Co-authored-by: Maxim Kim <habamax@gmail.com> Co-authored-by: zeertzjq <zeertzjq@outlook.com>
* vim-patch:8.2.4724: current instance of last search pattern not easily spottedzeertzjq2024-06-19
| | | | | | | | | | | Problem: Current instance of last search pattern not easily spotted. Solution: Add CurSearch highlighting. (closes vim/vim#10133) https://github.com/vim/vim/commit/a43993897aa372159f682df37562f159994dc85c Some code is superseded by later patches that are already ported. Co-authored-by: LemonBoy <thatlemon@gmail.com>
* vim-patch:9718ed7: runtime(filetype): update htmldjango detectionChristian Clason2024-06-19
| | | | | | | | | | | | | | | | - update tags to detect djangohtml based on https://docs.djangoproject.com/en/5.0/ref/templates/builtins/#built-in-tag-reference - increase the lines to inspect to 40 lines 10 lines is too few and might result in high false negative. Increasing it to 40 lines should reduce the false negative. closes: vim/vim#15037 https://github.com/vim/vim/commit/9718ed7ab989c0a0be88a0d749f24321eb0e6af1 Co-authored-by: Afiq Nazrie <afnazrie@gmail.com>