| Commit message (Collapse) | Author | Age |
|\ |
|
| |
| |
| |
| |
| |
| | |
Problem: Vim9: error for not using string doesn't mention argument.
Solution: Add argument number.
https://github.com/vim/vim/commit/f28f2ac425600b88da0bdcc12a82cd620f575681
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
dispatch.sr.ht is being deprecated, meaning that using sourcehut CI
won't be possible (see https://github.com/neovim/neovim/issues/19609).
Since Github Actions doesn't provide any BSD runners an external service
is required and Cirrus CI seems like a good replacement for sourcehut.
Initially experimented with using FreeBSD and OpenBSD virtual machines
in GitHub Actions, but Cirrus has been a much better fit with better
performance, logs and overall experience.
Failing tests are automatically skipped on FreeBSD regardless if it's on
CI or not. Ideally these tests should only be skipped in CI with the
help of `isCI` helper function. Unfortunately, the tests don't recognize
the environment variable CIRRUS_CI even if it's set manually. This
workaround is good enough for the time being, but we might want to only
skip tests when using the CI (or even better, fix the failing tests).
Closes: https://github.com/neovim/neovim/issues/19609
|
| |
| |
| | |
Co-authored-by: Mathias Fussenegger <f.mathias@zignar.net>
|
| | |
|
| |
| |
| |
| |
| |
| | |
Problem: #{g:x} was seen as a curly-braces expression.
Solution: Do never see #{} as a curly-braces expression. (closes vim/vim#11075)
https://github.com/vim/vim/commit/7c7e1e9b98d4e5dbe7358c795a635c6f1f36f418
|
| |
| |
| |
| |
| | |
Also add missing fcs, lcs and winhighlight to list of key-value options for `vim.opt`.
Co-authored-by: ii14 <ii14@users.noreply.github.com>
|
| |
| |
| |
| |
| |
| | |
feat(treesitter): use weak tables when possible
Also add the defaulttable function to create a table whose values are created when a key is missing.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Doing so on `BufDelete` has issues:
- `BufDelete` is also fired for listed buffers that are made unlisted.
- `BufDelete` is not fired for unlisted buffers that are deleted.
This means that diagnostics will be lost for a buffer that becomes unlisted.
It also means that if an entry exists for an unlisted buffer, deleting that
buffer later will not remove its entry from the cache (and you may see "Invalid
buffer id" errors when using diagnostic functions if it was wiped).
Instead, remove a buffer from the cache if it is wiped out.
This means simply `:bd`ing a buffer will not clear its diagnostics now.
|
| |\
| | |
| | | |
build(deps): bump libvterm to 0.3-RC1
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Due to a rewrite of the resize handling logic in libvterm, the behavior
changed. It's actually fixing a bug.
https://github.com/cryptomilk/libvterm/commit/16b857457575c3fd6ffdb0866d7a190b69c28312
|
| |/
| |
| |
| | |
Work on https://github.com/neovim/neovim/issues/459
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Added 'spell' option to extmarks:
Extmarks with this set will have the region spellchecked.
- Added 'noplainbuffer' option to 'spelloptions':
This is used to tell Neovim not to spellcheck the buffer. The old
behaviour was to spell check the whole buffer unless :syntax was set.
- Added spelling support to the treesitter highlighter:
@spell captures in highlights.scm are used to define regions which
should be spell checked.
- Added support for navigating spell errors for extmarks:
Works for both ephemeral and static extmarks
- Added '_on_spell_nav' callback for decoration providers:
Since ephemeral callbacks are only drawn for the visible screen,
providers must implement this callback to instruct Neovim which
regions in the buffer need can be spell checked.
The callback takes a start position and an end position.
Note: this callback is subject to change hence the _ prefix.
- Added spell captures for built-in support languages
Co-authored-by: Lewis Russell <lewis6991@gmail.com>
Co-authored-by: Björn Linse <bjorn.linse@gmail.com>
|
| |\
| | |
| | | |
fix(api)!: correctly deal with number before :tab
|
| | |
| | |
| | |
| | |
| | |
| | | |
Now nvim_parse_cmd and nvim_create_user_command use a "tab" value which
is the same as the number passed before :tab modifier instead of the
number plus 1, and "tab" value is -1 if :tab modifier is not used.
|
| |\ \
| | | |
| | | | |
feat(treesitter): highlighting for core languages, enabled for Lua
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The @error capture is used for tree-sitter's ERROR node, which indicates
a parsing error -- which can be quite frequent (and jarring) while typing.
Users can still manually `hi link @error Error` in their config.
|
| | | | |
|
| | |/
| | |
| | |
| | |
| | | |
Treesitter parsers are now a mandatory part of the installation and
should be tested on all platforms. Remove `pending_c_parser` helper.
|
| | | |
|
| | | |
|
| | | |
|
| |/ |
|
| |
| |
| | |
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
vim-patch:9.0.0341: mapset() does not restore <Nop> mapping properly
Problem: mapset() does not restore <Nop> mapping properly.
Solution: Use an empty string for <Nop>. (closes vim/vim#11022)
https://github.com/vim/vim/commit/92a3d20682d46359bb50a452b4f831659e799155
|
| |\
| | |
| | | |
feat(lua): vim.ui_attach to get ui events from lua
|
| | |
| | |
| | |
| | | |
Co-authored-by: Famiu Haque <famiuhaque@protonmail.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This introduces the following breaking changes:
- nvim_get_keymap now always returns a LuaRef object as "callback" for a
Lua mapping regardless of how it is called. The LuaRef object can be
called from Lua and Vim script, but is lost over RPC.
- maparg() now returns a Funcref instead of a ref number as "callback"
for a Lua mapping. The Funcref can be called from Lua and Vim script,
but is lost over RPC.
This may also make nvim_get_keymap faster, but make maparg() slower.
|
| |/ |
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Test for crash fix does not fail without the fix.
Solution: Adjust the test sequence. (closes vim/vim#8506)
https://github.com/vim/vim/commit/3777d6e32b22f0a70b774760c24160079e303bad
Cherry-pick CheckUnix from patch 8.2.1432.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
`!did_throw` doesn't exactly imply `!current_exception`, as `did_throw = false`
is sometimes used to defer exception handling for later (without forgetting the
exception). E.g: uncaught exception handling in `do_cmdline()` may be deferred
to a different call (e.g: when `try_level > 0`).
In #7881, `current_exception = NULL` in `do_cmdline()` is used as an analogue of
`did_throw = false`, but also causes the pending exception to be lost, which
also leaks as `discard_exception()` wasn't used.
It may be possible to fix this by saving/restoring `current_exception`, but
handling all of `did_throw`'s edge cases seems messier. Maybe not worth
diverging over.
This fix also uncovers a `man_spec.lua` bug on Windows: exceptions are thrown
due to Windows missing `man`, but they're lost; skip these tests if `man` isn't
executable.
|
| | |
|
| |
| |
| |
| |
| |
| | |
Ref https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h3-Other-buttons
This works in xterm and kitty.
CSI < 66 ; x ; y M sequence is for ScrollWheelLeft.
CSI < 67 ; x ; y M sequence is for ScrollWheelRight.
|
| | |
|
| |
| |
| | |
Co-authored-by: Gregory Anders <greg@gpanders.com>
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Adds TCP support for lsp.
Usage example:
```
vim.lsp.start({ name = 'godot', cmd = vim.lsp.rpc.connect('127.0.0.1', 6008) })
```
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
fix(events): trigger WinScrolled when only skipcol changed
vim-patch:9.0.0304: WinScrolled is not triggered when only skipcol changes
Problem: WinScrolled is not triggered when only skipcol changes.
Solution: Add w_last_skipcol and use it. (closes vim/vim#10998)
https://github.com/vim/vim/commit/670ab0334b536e12d84810de88e73b7bcb01346d
|
| |/ |
|
| |
| |
| |
| |
| | |
This reverts commit 234959abbfcf075cb09304b00fc391780580056d and
renames the option 'colorc' -> 'colorcol' again.
|
| |
| |
| |
| |
| | |
Problem was interpreting a '|' as next command, causing vim to interpret
set fillchars+=colorcol:| incorrectly
|
| |
| |
| |
| | |
Rename the colorcol option in fillchars to the more terse colorc.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
This option will let neovim draw a character in the colorcolumn when
there is no other character occupying that spot.
For example, I'm someone who likes the elegance of seeing a 1px wide line
at the 80 character mark, rather than a rectangle the width of a cell at
that mark. To accomplish this, I run
:set colorcol=80
:set fillchars=colorcol:│
of course ':' and '.' are good ASCII alteratives.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This removes the support for defining links via
vim.treesitter.highlighter.hl_map (never documented, but plugins did
anyway), or the uppercase-only `@FooGroup.Bar` to `FooGroup` rule.
The fallback is now strictly `@foo.bar.lang` to `@foo.bar` to `@foo`,
and casing is irrelevant (as it already was outside of treesitter)
For compatibility, define default links to builting syntax groups
as defined by pre-existing color schemes
|
| |
|
|
|
|
| |
Util from the nvim-treesitter project.
|
|
|
|
| |
Util from the nvim-treesitter project.
|