aboutsummaryrefslogtreecommitdiff
path: root/runtime
Commit message (Collapse)AuthorAge
* refactor(api)!: rename Dictionary => DictJustin M. Keyes2024-09-23
| | | | | | | | | | | | | | In the api_info() output: :new|put =map(filter(api_info().functions, '!has_key(v:val,''deprecated_since'')'), 'v:val') ... {'return_type': 'ArrayOf(Integer, 2)', 'name': 'nvim_win_get_position', 'method': v:true, 'parameters': [['Window', 'window']], 'since': 1} The `ArrayOf(Integer, 2)` return type didn't break clients when we added it, which is evidence that clients don't use the `return_type` field, thus renaming Dictionary => Dict in api_info() is not (in practice) a breaking change.
* fix(runtime): treat b:undo_ftplugin consistently in Lua ftplugins (#30473)zeertzjq2024-09-23
| | | | - Don't assume b:undo_ftplugin is set when first modifying it. - Don't assume b:undo_ftplugin already contains some resetting.
* vim-patch:be551da: runtime(netrw): remove extraneous closing bracketChristian Clason2024-09-23
| | | | | | | | | fixes: vim/vim#15717 closes: vim/vim#15718 https://github.com/vim/vim/commit/be551dacb87a0542afd8b5c17b89e6749f2dc355 Co-authored-by: Peter Aronoff <peter@aronoff.org>
* feat(fs.lua): add vim.fs.rm()Lewis Russell2024-09-22
| | | | Analogous to the shell `rm` command.
* docs(api): nvim_get_runtime_file preserves 'runtimepath' order #30454Evgeni Chasnovski2024-09-22
|
* vim-patch:a0c14ef: runtime(filetype): tests: Test_filetype_detection() failszeertzjq2024-09-21
| | | | | | | | | Problem: tests: Test_filetype_detection() fails (after 9.1.0738) Solution: Add missing filetype detect patterns for *.SYSx and *.MODx https://github.com/vim/vim/commit/a0c14ef310acac62276b4ee51930d3246b11772e Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:9.1.0738: filetype: rapid files are not recognizedzeertzjq2024-09-21
| | | | | | | | | | | | Problem: filetype: rapid files are not recognized Solution: detect '*.sysx' and '*.modx' as rapid filetype (KnoP-01) closes: vim/vim#15669 https://github.com/vim/vim/commit/fdcb08264d6e8525a07b29c14863adc6ead83913 Co-authored-by: KnoP-01 <knosowski@graeffrobotics.de>
* vim-patch:e6b01cf: runtime(dist): do not output a message if executable is ↵zeertzjq2024-09-21
| | | | | | | | | not found (#30451) closes: vim/vim#15705 https://github.com/vim/vim/commit/e6b01cfe01a2722ec55a011ae04c4c404e88f924 Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:50423ab: runtime(java): Optionally recognise _module_ import ↵Christian Clason2024-09-21
| | | | | | | | | | | | | | | | | | | declarations Define "g:java_syntax_previews" and include number 476 in its list to enable this recognition: ------------------------------------------------------------ let g:java_syntax_previews = [476] ------------------------------------------------------------ Reference: https://openjdk.org/jeps/476 closes: vim/vim#15709 https://github.com/vim/vim/commit/50423ab8086c6e51b86548de77d79db8542ae317 Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
* vim-patch:597aadc: runtime(lyrics): support multiple timestamps in syntax scriptChristian Clason2024-09-21
| | | | | | | | | | | | Problem: Multiple timestamps in the same line were not highlighted Solution: Adapt the syntax to support multiple timestamps fixes: vim/vim#15703 closes: vim/vim#15707 https://github.com/vim/vim/commit/597aadcf214cd13bf6a2155bf45173edc03199de Co-authored-by: ObserverOfTime <chronobserver@disroot.org>
* vim-patch:87b6565: runtime(modconf): remove erroneous :endif in ftpluginChristian Clason2024-09-21
| | | | | | | | | | regression introduced in f86568f91848ece0c5da closes: vim/vim#15704 https://github.com/vim/vim/commit/87b65652e806ed5ae999f8b1f46b9306d48c9326 Co-authored-by: zeertzjq <zeertzjq@outlook.com>
* vim-patch:f86568f: runtime(misc): simplify keywordprg in various ftpluginsChristian Clason2024-09-21
| | | | | | | | closes: vim/vim#15696 https://github.com/vim/vim/commit/f86568f91848ece0c5da2178881b3ed858dae799 Co-authored-by: Konfekt <Konfekt@users.noreply.github.com>
* vim-patch:2307945: runtime(java): Optionally recognise all primitive ↵Christian Clason2024-09-21
| | | | | | | | | | | | | | | | | | | constants in _switch-case_ labels Define "g:java_syntax_previews" and include number 455 in its list to enable this recognition: ------------------------------------------------------------ let g:java_syntax_previews = [455] ------------------------------------------------------------ Reference: https://openjdk.org/jeps/455 closes: vim/vim#15698 https://github.com/vim/vim/commit/23079450a8dea98f9d4e3e74ab57866914b0a813 Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
* vim-patch:41c7bba: runtime(zsh,sh): set and unset compiler in ftpluginChristian Clason2024-09-21
| | | | | | | | closes: vim/vim#15699 https://github.com/vim/vim/commit/41c7bbaf8f567d3a19ab2a6191ec9937fb890220 Co-authored-by: Konfekt <Konfekt@users.noreply.github.com>
* vim-patch:c18a9d5: runtime(netrw): using inefficient highlight pattern for 'mf'Christian Clason2024-09-21
| | | | | | | | | | | Fixes E872 too many '(' in highlight pattern for `mf` selection fixup for vim/vim#15551 closes: vim/vim#15700 https://github.com/vim/vim/commit/c18a9d5835456e0e47e943b673d631caaebdbea3 Co-authored-by: yasuda <yasuda@kyoto-sr.co.jp>
* fix(treesitter): lint top-level anonymous nodesRiley Bruins2024-09-20
| | | | | | | | | | **Problem:** Top-level anonymous nodes are not being checked by the query linter **Solution:** Check them by adding them to the top-level query This commit also moves a table construction out of the match iterator so it is run less frequently.
* vim-patch:35699f1: runtime(vim): Update base-syntax, improve folding ↵zeertzjq2024-09-20
| | | | | | | | | | | | | | | function matches (#30427) - Allow function command modifiers. - Match function bodies starting with empty lines. Command modifiers reported by @Konfekt. fixes vim/vim#15671 closes: vim/vim#15674 https://github.com/vim/vim/commit/35699f17497dcdcfdd747fedaef28f208ac6eb5f Co-authored-by: Doug Kearns <dougkearns@gmail.com>
* docs(lsp): hover window controls #30347Tristan Knight2024-09-19
|
* fix(health): check more "old" files #30421Justin M. Keyes2024-09-19
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Node.js provider (optional) ~ - ERROR Failed to run healthcheck for "provider.node" plugin. Exception: …/runtime/lua/provider/node/health.lua:9: attempt to call field 'provider_disabled' (a nil value) Perl provider (optional) ~ - ERROR Failed to run healthcheck for "provider.perl" plugin. Exception: …/runtime/lua/provider/perl/health.lua:8: attempt to call field 'provider_disabled' (a nil value) Python 3 provider (optional) ~ - ERROR Failed to run healthcheck for "provider.python" plugin. Exception: …/runtime/lua/provider/python/health.lua:226: attempt to call field 'provider_disabled' (a nil value) Ruby provider (optional) ~ - ERROR Failed to run healthcheck for "provider.ruby" plugin. Exception: …/runtime/lua/provider/ruby/health.lua:9: attempt to call field 'provider_disabled' (a nil value) Solution: Add these files to the runtime sanity check. fix #29302
* refactor!: rename 'jumpoptions' flag "unload" to "clean" (#30418)zeertzjq2024-09-19
| | | Follow-up to #29347
* vim-patch:5036e69: runtime(systemd): allow for overriding systemd ftplugin ↵Enno2024-09-18
| | | | | | | settings (vim/vim#13373) (#30414) closes: vim/vim#13357 https://github.com/vim/vim/commit/5036e698520b2c39e4df5738f026a68ba2e76fef
* feat(tui): builtin UI (TUI) sets client info #30397Justin M. Keyes2024-09-18
| | | | | | | | | | | | Problem: The default builtin UI client does not declare its client info. This reduces discoverability and makes it difficult for plugins to identify the UI. Solution: - Call nvim_set_client_info after attaching, as recommended by `:help dev-ui`. - Also set the "pid" field. - Also change `ui_active()` to return a count. Not directly relevant to this commit, but will be useful later.
* docs: graduate tui.txt to "flow layout" #30413Justin M. Keyes2024-09-18
|
* docs(tui): rename term.txt, nvim_terminal_emulator.txt #30398Justin M. Keyes2024-09-18
| | | | | | | | | | | | Problem: It has long been a convention that references to the builtin terminal UI should mention "tui", not "term", in order to avoid ambiguity vs the builtin `:terminal` feature. The final step was to rename term.txt; let's that step. Solution: - rename term.txt => tui.txt - rename nvim_terminal_emulator.txt => terminal.txt - `gen_help_html.lua`: generate redirects for renamed pages.
* vim-patch:f21d28a: runtime(zathurarc): add double-click-follow to syntax scriptChristian Clason2024-09-18
| | | | | | | | closes: vim/vim#15688 https://github.com/vim/vim/commit/f21d28a5c72987d42d540290e5a77500ab1a4d7c Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* vim-patch:9.1.0735: filetype: salt files are not recognizedGregory Anders2024-09-17
| | | | | | | | | | | | Problem: filetype: salt files are not recognized Solution: Detect '*.sls' files as filetype salt, include a syntax script (Gregory Anders) closes: vim/vim#15689 https://github.com/vim/vim/commit/89b9bb4ac8ceb701ebecb8c02aca3d047dff9991 Co-authored-by: Gregory Anders <greg@gpanders.com>
* vim-patch:9.1.0734: filetype: jinja files are not recognizedGregory Anders2024-09-17
| | | | | | | | | | | | Problem: filetype: jinja files are not recognized Solution: detect '*.jinja' files a jinja filetype, include jinja syntax script (Gregory Anders) related: vim/vim#15689 https://github.com/vim/vim/commit/202c467bb37b894ada6377d3f2621c103f324757 Co-authored-by: Gregory Anders <greg@gpanders.com>
* docs(eval): update param types of prompt-buffer functions (#30392)glepnir2024-09-16
|
* feat(vim.ui): configurable "gx" / vim.ui.open() toolMatěj Cepl2024-09-16
| | | | | | | | | | | | | | Problem: User cannot configure the tool used by `vim.ui.open` (or `gx`). With netrw this was supported by `g:netrw_browsex_viewer`. Solution: Introduce `opts.cmd`. Users that want to set this globally can monkey-patch `vim.ui.open` in the same way described at `:help vim.paste()`. Fixes https://github.com/neovim/neovim/issues/29488 Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
* vim-patch:5e95c8f: runtime(java): Highlight javaConceptKind modifiers with ↵Christian Clason2024-09-16
| | | | | | | | | | | | | | | | | | StorageClass Stop assigning by default the NonText highlighting group for javaConceptKind modifiers since its colour is hardly distinguishable from a background colour for a range of colour schemes. fixes vim/vim#15237 related vim/vim#15238 closes: vim/vim#15664 https://github.com/vim/vim/commit/5e95c8f637ac8de625270fc2d371f4ebe304fac8 Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com> Co-authored-by: Dexter Gaon-Shatford <dexter@gaonshatford.ca>
* vim-patch:0f5effb: runtime(netrw): delete confirmation not strict enoughChristian Clason2024-09-16
| | | | | | | | fixes: vim/vim#15680 https://github.com/vim/vim/commit/0f5effbd1fb58128be677aa577d3d0ab2fc9527a Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:9.1.0731: inconsistent case sensitive extension matchingChristian Clason2024-09-16
| | | | | | | | | | | | | | | | | | | | | Problem: inconsistent case sensitive extension matching Solution: unify case sensitive extension matching (Evgeni Chasnovski). There are different approaches of how extensions are matched with respect to case sensitivity. In particular, '\c' flag is used in pattern whereas in most places case sensitive matching is guarded behind `has("fname_case")` condition. Replace all instances of '\c' with an explicit case sensitive pattern variants guarded by `has("fname_case")`. Strictly speaking, this is a breaking change because only two (most common and prevailingly tested) variants are now matched: upper first letter and upper all letters. closes: vim/vim#15672 https://github.com/vim/vim/commit/59b089c9df238ce940b3c593295bc511e201399a Co-authored-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com>
* vim-patch:4d427d4: runtime(vim): Update base-syntax, match Vim9 bool/null ↵zeertzjq2024-09-15
| | | | | | | | | | | | literal args to :if/:while/:return (#30391) Match Vim9 boolean and null literals in expression arguments of :if, :elseif, :while and :return. closes: vim/vim#15684 https://github.com/vim/vim/commit/4d427d4cab9c942d6871c50f714e18d7edcfe135 Co-authored-by: Doug Kearns <dougkearns@gmail.com>
* fix(defaults): cannot remove "How-to disable mouse" menu item #30375Jaehwang Jung2024-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.
* 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.
* fix(treesitter): sync queries from upstreamChristian 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
|\
| * 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'`
* | 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>