aboutsummaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAge
* Merge remote-tracking branch 'upstream/master' into colorcolcharJosh Rahm2022-09-12
|\
| * vim-patch:8.2.2646: Vim9: error for not using string doesn't mention argumentzeertzjq2022-09-12
| | | | | | | | | | | | Problem: Vim9: error for not using string doesn't mention argument. Solution: Add argument number. https://github.com/vim/vim/commit/f28f2ac425600b88da0bdcc12a82cd620f575681
| * ci: move BSD jobs from sourcehut to Cirrus CI #19616dundargoc2022-09-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * fix(lsp): when buffer detach remove buffer from client attached buffers (#20081)Raphael2022-09-08
| | | | | | Co-authored-by: Mathias Fussenegger <f.mathias@zignar.net>
| * feat(lsp): add range option to lsp.buf.format (#19998)Mathias Fußenegger2022-09-08
| |
| * vim-patch:9.0.0409: #{g:x} was seen as a curly-braces expressionii142022-09-08
| | | | | | | | | | | | 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
| * fix(options): mark `winhighlight` as list style (#19477)ii142022-09-07
| | | | | | | | | | 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>
| * Use weak tables in tree-sitter code (#17117)Thomas Vigouroux2022-09-07
| | | | | | | | | | | | 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.
| * fix(diagnostic): remove buf from cache on `BufWipeout` (#20099)Sean Dewar2022-09-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * Merge pull request #17329 from cryptomilk/asn-vterm-0-2Christian Clason2022-09-06
| |\ | | | | | | build(deps): bump libvterm to 0.3-RC1
| | * fix(terminal): adopt altscreen test for libvterm 0.2 changesAndreas Schneider2022-09-06
| | | | | | | | | | | | | | | | | | | | | 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
| * | refactor: replace char_u with charDundar Göc2022-09-06
| |/ | | | | | | Work on https://github.com/neovim/neovim/issues/459
| * feat(extmarks,ts,spell): full support for spellingThomas Vigouroux2022-09-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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>
| * Merge pull request #20039 from zeertzjq/cmod-tabbfredl2022-09-06
| |\ | | | | | | fix(api)!: correctly deal with number before :tab
| | * fix(api)!: correctly deal with number before :tabzeertzjq2022-09-02
| | | | | | | | | | | | | | | | | | 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.
| * | Merge pull request #15391 from vigoux/ts-lua-builtinbfredl2022-09-06
| |\ \ | | | | | | | | feat(treesitter): highlighting for core languages, enabled for Lua
| | * | fix(treesitter): do not link @error by defaultChristian Clason2022-09-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * | feat(treesitter): add injectionsChristian Clason2022-09-06
| | | |
| | * | ci(tests): don't skip parsers on functionaltestChristian Clason2022-09-06
| | |/ | | | | | | | | | | | | Treesitter parsers are now a mandatory part of the installation and should be tested on all platforms. Remove `pending_c_parser` helper.
| * | feat(pum): pretend 'mousemoveevent' is set when showing right-click menuzeertzjq2022-09-04
| | |
| * | feat(api): add "move" to nvim_input_mousezeertzjq2022-09-04
| | |
| * | feat(tui): support 'mousemoveevent'zeertzjq2022-09-04
| | |
| * | feat(ui-ext): make 'mousemoveevent' a ui_optionzeertzjq2022-09-04
| |/
| * feat(Man): port to Lua (#19912)Lewis Russell2022-09-02
| | | | | | Co-authored-by: zeertzjq <zeertzjq@outlook.com>
| * feat(api): add support for :horizontal modifierzeertzjq2022-09-01
| |
| * fix(lua): make ui_attach()/ui_detach() take effect immediately (#20037)zeertzjq2022-09-01
| |
| * feat(mapset): support restoring Lua callback (#20024)zeertzjq2022-09-01
| | | | | | | | | | | | | | 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
| * Merge pull request #16396 from bfredl/luaeventbfredl2022-08-31
| |\ | | | | | | feat(lua): vim.ui_attach to get ui events from lua
| | * feat(lua): vim.ui_attach to get ui events from luabfredl2022-08-31
| | | | | | | | | | | | Co-authored-by: Famiu Haque <famiuhaque@protonmail.com>
| * | refactor(mappings)!: mapblock_fill_dict() use API Dictionary (#20020)zeertzjq2022-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | fix(api): nvim_set_hl bail out on invalid group name (#20021)zeertzjq2022-08-31
| |/
| * vim-patch:8.2.3102: test for crash fix does not fail without the fix (#20018)zeertzjq2022-08-31
| | | | | | | | | | | | | | 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.
| * fix(exceptions): restore `did_throw` (#20000)Sean Dewar2022-08-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `!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.
| * fix(highlight): set the window namespace when redrawing statuslinebfredl2022-08-30
| |
| * feat(tui): recognize sidescroll events (#19992)zeertzjq2022-08-30
| | | | | | | | | | | | 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.
| * fix(redraw): handle switching to a tabpage with larger p_ch valuebfredl2022-08-29
| |
| * fix(lsp): clean the diagnostic cache when buffer delete (#19449)Raphael2022-08-29
| | | | | | Co-authored-by: Gregory Anders <greg@gpanders.com>
| * Merge pull request #19916 from mfussenegger/lsp-tcpMathias Fußenegger2022-08-29
| |\ | | | | | | | | | | | | | | | | | | | | | | | | Adds TCP support for lsp. Usage example: ``` vim.lsp.start({ name = 'godot', cmd = vim.lsp.rpc.connect('127.0.0.1', 6008) }) ```
| | * feat(lsp): add tcp supportMathias Fussenegger2022-08-28
| | |
| * | fix(events): triggered WinScrolled when only skipcol changed (#19972)zeertzjq2022-08-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | fix(keywordprg): default to :help if set to empty string (#19983)zeertzjq2022-08-29
| |/
* | feat(colorcolchar): revert "feat: rename colorcol in fillchars to colorc"Josh Rahm2022-08-27
| | | | | | | | | | This reverts commit 234959abbfcf075cb09304b00fc391780580056d and renames the option 'colorc' -> 'colorcol' again.
* | feat(colorcolchar): fix highlight_spec.luaJosh Rahm2022-08-27
| | | | | | | | | | Problem was interpreting a '|' as next command, causing vim to interpret set fillchars+=colorcol:| incorrectly
* | feat(colorcolchar): rename colorcol in fillchars to colorcJosh Rahm2022-08-27
| | | | | | | | Rename the colorcol option in fillchars to the more terse colorc.
* | feat(colorcolchar): add the option "colorcol" to the fillchars settingJosh Rahm2022-08-27
|/ | | | | | | | | | | | | | 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.
* fix(treesitter): make it get_captures_at_positionbfredl2022-08-26
|
* feat(treesitter)!: use @foo.bar style highlight groupsbfredl2022-08-26
| | | | | | | | | | | | 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
* fix(tests): use pending_c_parser when neededbfredl2022-08-25
|
* feat(treesitter): upstream node_length() as a node methodQuentin Rasmont2022-08-25
| | | | Util from the nvim-treesitter project.
* feat(treesitter): upstream get_root_for_node() as a node methodQuentin Rasmont2022-08-25
| | | | Util from the nvim-treesitter project.