| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
options (#42403)
Problem: gitrevlist's keywordprg "git show" doesn't realise that input
should never be interpreted as an option. (Note that it is in
practice impossible to pass a value that is interpreted as an
option, but this expresses intent and is defensive.)
Solution: pass --end-of-options to force input to be interpreted as
arguments.
related: vim/vim#20702
closes: vim/vim#21472
https://github.com/vim/vim/commit/4eae1d03e82c5b775a25c097509562efd350a8a3
Co-authored-by: Fionn Fitzmaurice <git@fionn.computer>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
in ftplugins (#42340)
Problem: The current test 'exists(':terminal') == 2' is valid even in
Vim builds that have the terminal not included (e.g. normal
feature builds) and thus the K key would cause an error:
"E319: Sorry, the command is not available in this version" or
"E117: Unknown function: term_start()"
Solution: Change the terminal feature test to "has('terminal')" to
properly detect Vims without the terminal feature and use
exists('*term_start') for functionality that depends on Vims
support for the term_start() feature. While at it, change the
Last Change date to the preferred style for Vim runtime files.
https://github.com/vim/vim/commit/d6f7a03f7c569d84f34259c68dabfe9b357ba0fb
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| |
|
|
|
|
|
|
| |
lookup
https://github.com/vim/vim/commit/52ce28a4ad0ec9df8eebb6556ebf677cc46ddbe8
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| |
|
|
|
|
|
|
| |
keywordprg
https://github.com/vim/vim/commit/0fa670400bda8d78f90287c9b80af57fbb76ef55
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| |
|
|
|
|
| |
https://github.com/vim/vim/commit/40295c92be643a09d6443121637fa93d6cd105a1
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| |
|
|
|
|
|
|
|
| |
Problem: Argument type mismatches are excluded from EmmyLua checks.
Solution: Correct runtime annotations and calls, document local checker
workarounds, and enable the diagnostic.
AI-assisted
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Enable EmmyLua's need-check-nil diagnostic and resolve nullable values
through more precise types, explicit invariants, and guards for missing
runtime state. Keep analyzer-specific workarounds local and update the
affected API documentation.
Exclude the bundled re.lua from analysis so its nil-check warnings do
not fail CI.
AI-assisted
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: icalendar files are not recognized
Solution: Detect *.ics files as icalendar filetype, include
syntax and filetype plugins (Anakin Childerhose).
Reference:
https://datatracker.ietf.org/doc/html/rfc5545
closes: vim/vim#21356
https://github.com/vim/vim/commit/7c049d5ce1d6bc119abf9749ca5cad74225ca83e
Co-authored-by: Anakin Childerhose <anakin@childerhose.ca>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: hlsl files are not recognized
Solution: Detect *.hlsl files hlsl filetype, include
ftplugin, indent and syntax plugins, update
gvim menu (Maxim Kim)
closes: vim/vim#20993
https://github.com/vim/vim/commit/11fca33162ad2e6a6365dbf6202fb1af0f21b7cb
Co-authored-by: Maxim Kim <habamax@gmail.com>
|
| |
|
|
|
|
|
|
| |
closes: vim/vim#21319
https://github.com/vim/vim/commit/0620b4ac8dbe0086c9b22a8cfe248b6f33cda408
Co-authored-by: Amelia Clarke <selene@perilune.dev>
|
| | |
|
| |
|
|
|
| |
undo the manpage addition to the c ftplugin
does not apply to vim
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- call-non-callable
- missing-fields
- redefined-label
- redefined-local
- undefined-field
- unreachable-code
Promote redefined-local and unreachable-code to warnings.
Fix DOS line-ending handling for multiline semantic tokens, and support
intersection types in the help parser.
AI-assisted
|
| |
|
|
|
|
|
|
|
| |
The regex atom \| needs an extra escape for a :set command
closes: vim/vim#21214
https://github.com/vim/vim/commit/58ed368ab9645b527d388a5c4dbbc8e8bc6e7193
Co-authored-by: SPFab <42518661+SPFabGerman@users.noreply.github.com>
|
| |
|
|
|
|
|
|
|
|
| |
Set 'comments' and 'commentstring' for Robot Framework files.
closes: vim/vim#21220
https://github.com/vim/vim/commit/a96c3bc1f7f5ebb62643ae54ea8a1d2fa732aaf8
Co-authored-by: Dawid Dziurla <dawidd0811@gmail.com>
|
| |
|
|
|
|
|
|
|
|
| |
already set
closes: vim/vim#21180
https://github.com/vim/vim/commit/41cab67eef611b065459207390ab3c9c2d200d65
Co-authored-by: D. Ben Knoble <ben.knoble+github@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: radvd config files are not recognized
Solution: Detect radvd.conf as radvd filetype, include syntax and
filetype plugins, add syntax tests, update the menus (mdspan).
Reference:
https://linux.die.net/man/5/radvd.conf
closes: vim/vim#21159
https://github.com/vim/vim/commit/d4c8c66bed0615058073985627a15e9c1c01af06
Co-authored-by: mdspan <mdspan.github@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: bazelrc files are not recognized
Solution: Detect *.bazelrc and tools/bazel.rc files as bazelrc filetype,
include syntax und filetype plugins, update the menus
(Barrett Ruth).
closes: vim/vim#21146
https://github.com/vim/vim/commit/1afe7ad1bb72f36a80f8e625b91d0e7506ce8985
Co-authored-by: Barrett Ruth <br@barrettruth.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(#41443)
Remove "ro" from 'formatoptions'.
The universal selector "*" cannot be disambiguated from the 'comments'
middle "*" pattern, causing spurious "*" characters to be inserted after
selector lines.
fixes: vim/vim#15140
closes: vim/vim#21125
https://github.com/vim/vim/commit/8331682f802455c868fc52ba09f7a8472cd0feea
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: b:match_words groups "{" with the if/for/while/switch keywords
and "}" with "break" which breaks % matching on braces
Solution: Drop the brace and bracket groups, matchit appends
'matchpairs' by itself (Matthias Bruns).
matchit counts every alternative in a group instead of pairing the
alternatives with each other. Listing `{` alongside the if, for,
while, switch, struct and class keywords therefore makes a line such
as `for (...) {` count as two openers, and listing `break` alongside
`}` lets a brace pair with a break statement. As a result % on the
opening brace of a function does not move at all, and % on
`switch (x) {` jumps to `break;` instead of the closing brace.
Braces and brackets do not need to be listed: matchit appends
'matchpairs' to b:match_words by itself. Drop them and leave the
preprocessor group unchanged.
closes: vim/vim#21064
https://github.com/vim/vim/commit/08c74ce09a9269b93b01ff2289683ad63f396fba
Co-authored-by: Matthias Bruns <matthiasbruns35@gmail.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: json-ld files are not recognized
Solution: Detect *.jsonld files as jsonld filetype, include
filetype, indent and syntax plugins (Bogdan Barbu).
Reference:
https://www.w3.org/TR/json-ld11/
closes: vim/vim#20954
https://github.com/vim/vim/commit/a1e2198a2ca8bbddcad69ade8629f371bcb4cf1f
Co-authored-by: Bogdan Barbu <l4b.bogdan.barbu@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
`zipfile://{archive}::{entry}` is ambiguous: `::` is legal in both an
archive path and an entry path, so the separator cannot be identified.
Splitting at the last `::` reads archives correctly but breaks entries
that contain it, and the plugin then emits buffer names it cannot read
back.
Solution:
Address entries as `zip://{archive}/{entry}`, joining the two paths.
Resolve the split by walking components: the first one that is a regular
file is the archive, because a regular file cannot have children on disk.
Entry paths may then contain any character, and no escaping is needed.
zipPlugin.vim keeps its own scheme, so the Java ftplugin emits whichever
form matches the active plugin until the legacy package is removed.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
Cannot assign Lua functions/closures to "func" ('completefunc',
'tagfun', …) or "expr" ('foldexpr', 'indentexpr', …) options.
Solution:
- Store "func"/"expr" options as `Callback` instead of string.
- Delete oceans of copy-pasted code.
- BREAKING: LuaRef returned via RPC/Vimscript is now represented as
`"<Lua N: file:line>"` (like what `:map` shows) instead of `nil`.
- Note: `man.vim` still uses `v:lua` string, bc it's a vimscript ftplugin.
Helped-by: Lewis Russell <lewis6991@gmail.com>
|
| |
|
|
|
|
|
|
|
|
| |
Problem:
The bundled `zip` plugin is implemented in Vimscript, making it harder to
maintain and build on with Nvim's Lua runtime infrastructure.
Solution:
Add an opt-out `zip.lua` browser backed by `nvim.dir`, and disable the legacy
Vimscript implementation by moving it to `pack/dist/opt/zip/`. Load it with
`:packadd zip`.
|
| |
|
|
|
|
|
|
|
| |
Problem:
The code block query relied on a bug fixed in commit
7ed5609439ba83d75e972beb859245d998df09ea, where a trailing newline was
not included in a node's text.
Solution:
Fix the query to expect the newline.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: [security]: arbitrary code execution via keyword lookup in
sh.vim, zsh.vim and ps1.vim filetype plugin
(manus-use)
Solution: For powershell, quote the commands using single quotes, for
sh/zsh pass the argument as a separate list item to term_start()/system()
(Yasuhiro Matsumoto).
Github Security Advisory:
https://github.com/vim/vim/security/advisories/GHSA-r5v6-q6j8-8qw2
https://github.com/vim/vim/commit/c5a82fe013e73c98004ad7cd4f906b1ad1ed610e
Co-authored-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(#40912)
Problem: filetype: .git-blame-ignore-revs file is not recognized
Solution: Detect .git-blame-ignore-revs file as gitrevlist filetype,
include syntax and filetype plugins (Fionn Fitzmaurice)
A Git revision list is
> a list of object names (i.e. one unabbreviated SHA-1 per line)...,
> comments (#), empty lines, and any leading and trailing whitespace are
> ignored.
(from Git's fsck.skipList documentation).
The default output of git rev-list will match this. It is also suitable
as input to git blame --ignore-revs-file.
This adds filetype detection matching .git-blame-ignore-revs files,
syntax highlighting and basic filetype settings.
closes: vim/vim#20702
https://github.com/vim/vim/commit/a8d5be92845df7fc0e9e4399545bd5c01bba536a
Co-authored-by: Fionn Fitzmaurice <fionn@github.com>
|
| |
|
|
|
|
|
|
|
| |
closes: vim/vim#20778
https://github.com/vim/vim/commit/ac1bb93421593e8661017a015966fba43b580d1e
Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Co-Authored-by: Alejandro Sanchez <hiphish@posteo.de>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: hip files are not recognized
Solution: Detect *.hip files as hip filetype, include filetype, syntax
and indent plugins, update makemenu.vim and synmenu.vim (Young)
Round out HIP (Heterogeneous-compute Interface for Portability) support
to mirror the existing CUDA files:
- autoload/dist/ft.vim: detect the ".hip" extension as filetype "hip"
- ftplugin/hip.vim: behave like C++ by sourcing ftplugin/cpp.vim
- indent/hip.vim: use cindent, like indent/cuda.vim
- makemenu.vim / synmenu.vim: add a Syntax menu entry
The syntax/hip.vim file already sources syntax/cpp.vim and adds the
HIP-specific keywords, matching syntax/cuda.vim.
closes: vim/vim#20773
https://github.com/vim/vim/commit/b3ad239038ff1d3e1708b0027454b2ef6a86a8a2
Co-authored-by: Young <young20050727@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
|
| |
|
|
|
|
|
|
|
|
|
| |
Problem:
Vimscript ftplugins that inherit a base ftplugin often use explicit
`runtime! ftplugin/foo.vim` patterns. This skips corresponding Lua
ftplugins, unlike top-level ftplugin loading.
Solution:
Use the existing `{vim,lua}` patterns for bang runtime imports while
preserving each call's current lookup breadth.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Move whitespace formatting settings from the indent to the filetype
plugin behind a "typst_recommended_style" config option.
- Set browsefilter
- Improve syntax file
Thanks to Maxim Kim for taking on maintainership of the typst runtime
files.
related: vim/vim#20036
closes: vim/vim#20077
https://github.com/vim/vim/commit/dd8975428bae4139d400df1ebac96aec65633089
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
Co-authored-by: Maxim Kim <habamax@gmail.com>
|
| |
|
|
|
|
|
|
|
| |
runtime files (#40486)
ping @jamessan for the debugchangelog change.
https://github.com/vim/vim/commit/3fa4da4acb194660b7f44bba027af9f2120c27fe
Co-authored-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Normalize the 15 existing guards to the documented two-level form
get(g:, 'X_recommended_style', get(g:, 'filetype_recommended_style', 1)):
fix the two non-standard "!exists() || != 0" guards (python, arduino) and
tolk's wrong fallback variable, and convert the simple one-level guards.
Add the guard to filetype plugins that set stylistic indentation/format
options without one: aap, abap, ada, cabal, cobol, elixir, falcon,
graphql, heex, idris2, mermaid, occam, racket, scala, swift, tera.
Settings that are required rather than stylistic are left untouched, e.g.
make/gomod/scdoc (mandatory tabs), chatito and vroom (indent mandated by
the format), and the textwidth/formatoptions cases in gitcommit/help/
jjdescription.
Supported by AI.
fixes: vim/vim#20036
closes: vim/vim#20650
https://github.com/vim/vim/commit/1f33732613304958c935f302d8cb44bddc7f672f
Co-authored-by: Christian Brabandt <cb@256bit.org>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Vim9 script
The following let-heredoc can cause legacy scripts to be misidentified
as Vim9 script if it appears early in the file. Only match :vim9script
at the start of a line where it sensibly belongs.
let x =<< trim LINES
vim9script
...
LINES
fixes: vim/vim#20647 (reported by Maxim Kim).
closes: vim/vim#20654
https://github.com/vim/vim/commit/9a899af7e8e74bb094cfdfda857580b2e8ddf840
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
|
| |
|
|
|
|
|
|
|
|
| |
indent script
closes: vim/vim#20623
https://github.com/vim/vim/commit/91023adc67e13158ae1462485a400de787f7aefe
Co-authored-by: Mateo Gjika <104777599+mateoxh@users.noreply.github.com>
|
| |
|
|
|
|
|
|
| |
forgotten from commit 8513982a5ed5a84ba8e4e532505b07b4fa1efbdb
https://github.com/vim/vim/commit/8c670b3a5116e247ad4e481083a9eb4a90b9a89e
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| |
|
|
|
|
|
|
| |
closes: vim/vim#20579
https://github.com/vim/vim/commit/8513982a5ed5a84ba8e4e532505b07b4fa1efbdb
Co-authored-by: yilisharcs <yilisharcs@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
pattern (#40349)
Include the unecessary but idiomatic leading '--' in the closing block
comment token.
E.g.,
--[[
...
--]]
closes: vim/vim#20590
https://github.com/vim/vim/commit/98bf999d583118f73a8db7f808b5a22c1d38abd5
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
| |
Problem: runtime(luau): runtime support is incomplete.
Solution: Add Luau syntax, indent, filetype plugin and indent tests.
closes: vim/vim#20544
https://github.com/vim/vim/commit/8181c6e31387c0467fcd6394d1b7da07f38e737c
Co-authored-by: Lopy <70210066+lopi-py@users.noreply.github.com>
|
| |
|
|
|
|
|
|
|
|
|
| |
Include with adjustments from the upstream repo:
https://github.com/nathangrigg/vim-beancount
closes: vim/vim#20373
https://github.com/vim/vim/commit/1fee3cd4b9a38b18656933d38a4977548d27808b
Co-authored-by: Bruno BELANYI <bruno@belanyi.fr>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
b:match_words (#40091)
This depends on chrisbra/matchit#61 for full support of non-alphnum
heredoc markers.
closes: vim/vim#20399
https://github.com/vim/vim/commit/7895c9e6b8c6293b293656b48f2cd5f5a46a58b6
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: Tolk files are not recognized
Solution: Detect *.tolk files as tolk filetype, include a syntax and
filetype plugin (redavy)
Tolk is a new-generation language for writing smart contracts on TON
blockchain, which is vim/vim#1 in speed among other chains.
Reference:
https://docs.ton.org/blockchain-basics/tolk/overview
closes: vim/vim#20320
https://github.com/vim/vim/commit/b9bba99712907c6c2f7139aa3bd3739a100d6a58
Co-authored-by: redavy <hello.redavy@proton.me>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: tests: matchit plugin is not tested
Solution: Add test_plugin_matchit, improve b:match_words for the html
filetype plugin (Andrey Starodubtsev)
`b:match_words` which contains patterns used by `matchit` plugin to find
tag's counterpath, is fixed so that matching happens using the whole
tag, not just its first letter.
Also, it allows to find matching tag in case if there are spaces or
attributes after tag name.
fixes: chrisbra/matchit#51
closes: vim/vim#20313
https://github.com/vim/vim/commit/3a90b2ba8e63926c4c1c5225eced911c8594dcdf
Co-authored-by: Andrey Starodubtsev <andrey.starodubtsev@gmail.com>
|
| |
|
|
|
|
| |
https://github.com/vim/vim/commit/c175ce86fa96c34ed24443a6d0b4e87fda0f03fb
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| |
|
|
|
|
|
|
| |
related: vim/vim#20312
https://github.com/vim/vim/commit/010a71bb6072c6c99d311222f4960d403c982c47
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: [security]: Code Injection in cucumber filetype plugin
(Christopher Lusk)
Solution: Use rubys Regexp.new() with the untrusted pattern
Github Security Advisory:
https://github.com/vim/vim/security/advisories/GHSA-4473-94jm-w5x9
https://github.com/vim/vim/commit/a65a52d684bc58535ad28a4ae824d22e76399934
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| |
|
|
|
|
|
|
| |
closes: vim/vim#20197
https://github.com/vim/vim/commit/2a01e5967103a06dd6c83bfca73995557a171a4b
Co-authored-by: mathmil <82173590+mathmil@users.noreply.github.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
The `:checkhealth` buffer uses the help syntax, so help tag links (e.g.
`|clipboard|`) are highlighted like they are in help buffers. However,
unlike in help buffers, `CTRL-]` doesn't jump to the relevant help file.
I expect that if the `:checkhealth` buffer looks like a help buffer,
then it should behave like one where it makes sense. This comment from
/r/neovim suggests that this was the intention:
https://www.reddit.com/r/neovim/comments/5ghv3r/see_clipboard_how/dascnry/.
Solution:
Set `'tags'` in `checkhealth` buffers so that `:tag` and friends look
for tags in the help tags files.
|
| |
|
|
|
|
|
| |
closes: vim/vim#20135
https://github.com/vim/vim/commit/cb0b4cf45c627263c844348a0ec6388dcfef9fcb
Co-authored-by: Felipe Matarazzo <felipemps@protonmail.com>
|