aboutsummaryrefslogtreecommitdiff
path: root/test/functional
Commit message (Collapse)AuthorAge
...
* | fix(lsp): support `false` result in handlers (#20252)Mathias Fußenegger2022-09-20
| | | | | | Closes https://github.com/neovim/neovim/issues/20111
* | fix(inccommand): avoid unnecessary redraw when not showing (#20244)zeertzjq2022-09-19
| |
* | fix: assert failure when changing 'ut' while waiting for CursorHold (#20241)zeertzjq2022-09-18
| |
* | vim-patch:9712ff1288f9 (#20240)Christian Clason2022-09-18
| | | | | | | | Update runtime files https://github.com/vim/vim/commit/9712ff1288f942736ed76c0dec014909f067eec9
* | Merge pull request #20198 from zeertzjq/cursorholdbfredl2022-09-18
|\ \ | | | | | | fix(events): make CursorHold behave as documented
| * | fix(events): make CursorHold behave as documentedzeertzjq2022-09-17
| | |
* | | vim-patch:8.1.0941: macros for MS-Windows are inconsistent (#20215)dundargoc2022-09-18
|/ / | | | | | | | | | | | | Problem: Macros for MS-Windows are inconsistent, using "32", "3264 and others. Solution: Use MSWIN for all MS-Windows builds. Use FEAT_GUI_MSWIN for the GUI build. (Hirohito Higashi, closes vim/vim#3932) https://github.com/vim/vim/commit/4f97475d326c2773a78561fb874e4f23c25cbcd9
* | test(remote_spec): reduce flakiness in waiting for client exit (#20230)zeertzjq2022-09-17
| | | | | | | | It is less likely for client to exit between jobstart() and jobwait() if they are invoked in the same RPC request instead of two separate ones.
* | fix(eval)!: make Lua Funcref work as method and in substitute() (#20217)zeertzjq2022-09-16
| | | | | | | | | | | | | | | | | | | | | | | | BREAKING CHANGE: When using a Funcref converted from a Lua function as a method in Vim script, the result of the base expression is now passed as the first argument instead of being ignored. vim-patch:8.2.5117: crash when calling a Lua callback from a :def function Problem: Crash when calling a Lua callback from a :def function. (Bohdan Makohin) Solution: Handle FC_CFUNC in call_user_func_check(). (closes vim/vim#10587) https://github.com/vim/vim/commit/7d149f899d423b7bf2b90d7b11ebe3e560c462b9
* | fix(lua): free vim.ui_attach callback before lua close (#20205)notomo2022-09-16
| |
* | fix(messages): do not crash on cmdheight=0 and g< redisplaybfredl2022-09-16
| | | | | | | | fixes #20153
* | Merge pull request #20188 from bfredl/zerocmdlinebfredl2022-09-16
|\ \ | | | | | | feat(ui): use msg_grid based implementation for cmdheight=0
| * | feat(ui): use msg_grid based implementation for cmdheight=0bfredl2022-09-15
| | |
* | | fix(treesitter): return full metadata for get_captures_at_position (#20203)Christian Clason2022-09-16
|/ / | | | | | | | | | | | | | | fix(treesitter): get_captures_at_position returns metadata Return the full `metadata` table for the capture instead of just the priority. Further cleanup of related docs.
* | Merge pull request #20164 from bfredl/luanullbfredl2022-09-13
|\ \ | | | | | | fix(lua): make vim.str_utfindex and vim.str_byteindex handle NUL bytes
| * | fix(lua): make vim.str_utfindex and vim.str_byteindex handle NUL bytesbfredl2022-09-13
| | | | | | | | | | | | fixes #16290
* | | feat(fs): extend fs.find to accept predicate (#20193)Mathias Fußenegger2022-09-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Makes it possible to use `vim.fs.find` to find files where only a substring is known. This is useful for `vim.lsp.start` to get the `root_dir` for languages where the project-file is only known by its extension, not by the full name. For example in .NET projects there is usually a `<projectname>.csproj` file in the project root. Example: vim.fs.find(function(x) return vim.endswith(x, '.csproj') end, { upward = true })
* | | feat(diagnostic): pass diagnostics as data to DiagnosticChanged autocmd (#20173)Gregory Anders2022-09-13
| | |
* | | vim-patch:9.0.0457: substitute prompt does not highlight an empty match (#20186)zeertzjq2022-09-13
| | | | | | | | | | | | | | | Problem: Substitute prompt does not highlight an empty match. Solution: Highlight at least one character. https://github.com/vim/vim/commit/a04f457a6c071179bac4088c9314007d39d5c5e0
* | | test(lsp): call clear() before bufwipe test (#20170)zeertzjq2022-09-13
|/ / | | | | Otherwise this test cannot be run alone, and fails frequently on CI.
* | 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.
* 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
* 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.