aboutsummaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAge
...
* test: add tests for freeing channel opened by termopen()zeertzjq2021-11-11
| | | | This indirectly covers #16264
* fix(channel): fix channels opened by nvim_open_term() never being freedzeertzjq2021-11-11
|
* fix(channel): throw error if sending to internal channel w/o terminalzeertzjq2021-11-11
| | | | | Prevent SIGABRT when sending to a channel created by nvim_open_term() after the associated terminal has been deleted.
* fix(lsp): rewrite incremental sync (#16252)Michael Lingelbach2021-11-09
| | | | | | * use codeunits/points instead of byte ranges when applicable * take into account different file formats when computing range and sending text (dos, unix, and mac supported) * add tests of incremental sync
* feat(diagnostic): do not require namespace for hide() and show() (#16261)Gregory Anders2021-11-09
| | | | | | | Also fix a few other small bugs regarding saving and restoring extmarks. In particular, now that the virtual text and underline handlers have their own dedicated namespaces, they should be responsible for saving and restoring their own extmarks. Also fix the wrong argument ordering in the call to `clear_diagnostic_cache` in the `on_detach` callback.
* feat(ui): add vim.ui.input and use in lsp rename (#15959)Sebastian Lyng Johansen2021-11-07
| | | | | | * vim.ui.input is an overridable function that prompts for user input * take an opts table and the `on_confirm` callback, see `:help vim.ui.input` for more details * defaults to a wrapper around vim.fn.input(opts) * switches the built-in client's rename handler to use vim.ui.input by default
* Merge pull request #16155 from zeertzjq/fix-redr-border-corruptionBjörn Linse2021-11-06
|\ | | | | fix(float): fix potential heap corruption in win_redr_border
| * fix(float): redraw if w_border_adj changedzeertzjq2021-10-28
| |
| * fix(float): fix potential heap corruption in win_redr_borderzeertzjq2021-10-28
| |
* | feat(lua): enable stack traces in error output (#16228)Gregory Anders2021-11-06
| |
* | fix(input): never reinterpret unmapped ALT- chrods in Terminal mode (#16222)zeertzjq2021-11-04
| |
* | fix(diagnostic): fix option resolution in open_float (#16229)Gregory Anders2021-11-04
| |
* | fix(extmark): fix missing virt_lines when using id param of set_extmarkBjörn Linse2021-11-01
| |
* | refactor(api/marks)!: add opts param for feature extensibility (#16146)Javier Lopez2021-11-01
| | | | | | | | | | In the future we might want to extend the concept of named marks and adding opts reduces the need of changing the function signature in the furute.
* | feat(lsp): add per-client commands (#16101)Michael Lingelbach2021-11-01
| |
* | fix(runtime): fix missing packpath entriesBjörn Linse2021-10-31
| |
* | feat: add vim.str_utf_{start,end} (#16129)Michael Lingelbach2021-10-30
| | | | | | | | | | vim.str_utf_{start,end} return the offset from the current position to the start and end of the current utf-character (nearest codepoint) respectively.
* | fix(vim.mpack): rename pack/unpack => encode/decode #16175Justin M. Keyes2021-10-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: 1. "unpack" has an unrelated meaning in Lua: https://www.lua.org/manual/5.1/manual.html#pdf-unpack 2. We already have msgpackparse()/msgpackdump() and json_encode()/json_decode(), so introducing another name for the same thing is entropy. Solution: - Rename vim.mpack.pack/unpack => vim.mpack.encode/decode Caveat: This is incongruent with the `Unpacker` and `Packer` functions. - It's probably too invasive to rename those. - They also aren't part of our documented interface. - This commit is "reversible" in the sense that we can always revert it and add `vim.mpack.encode/decode` as _aliases_ to `vim.mpack.pack/unpack`, at any time in the future, if we want stricter fidelity with upstream libmpack. Meanwhile, `vim.mpack.encode/decode` is currently the total _documented_ interface of `vim.mpack`, so this change serves the purpose of consistent naming in the Nvim stdlib.
* | refactor(diagnostic): make display handlers generic (#16137)Gregory Anders2021-10-29
| | | | | | | | | | | | | | Rather than treating virtual_text, signs, and underline specially, introduce the concept of generic "handlers", of which those three are simply the defaults bundled with Nvim. Handlers are called in `vim.diagnostic.show()` and `vim.diagnostic.hide()` and are used to handle how diagnostics are displayed.
* | fix(eval): fix has('wsl') #16153erw72021-10-29
| | | | | | | | | | | | | | | | Problem: has('wsl') is decided at build-time. Solution: Check os_uname(). Fixes #12642, #16143
* | refactor(api): break out Vim script functions to its own fileBjörn Linse2021-10-29
| |
* | feat(lsp): track pending+cancel requests on client object #15949jdrouhard2021-10-29
| |
* | fix(eval): checking for a non-empty string is too strict (#15987)Fabian2021-10-28
| | | | | | | | | | | | Cherry-pick check_for_nonempty_string() from patch vim-8.2.2133 and apply it on the bases of https://github.com/neovim/neovim/pull/13489 https://github.com/vim/vim/commit/2a9d5d386bea8455b37c1accebc45683ec51d6fb
* | vim-patch:8.2.3556: filler lines are incorrect for other window in diff mode ↵Jaehwang Jerry Jung2021-10-28
|/ | | | | | | | (#16164) Problem: Filler lines are incorrect for other window in diff mode after making a change. Solution: Copy filler lines from the current window. (closes vim/vim#8809) https://github.com/vim/vim/commit/841c225b9ef8c5bdf5e02968a0bd62521fff6ca8
* test(vim_spec): fix MSVC_32 skip for nvim_parse_expression test (#16161)Sean Dewar2021-10-27
| | | | | | "works with &opt" is flaky; now it always fails after #15999 for some reason. This test was skipped in #10773 due to previous flakiness, but after the switch away from appveyor the check no longer works. Just skip for any CI running the MSVC_32 job.
* Merge pull request #16124 from mjlbach/feat/bjorn-baitBjörn Linse2021-10-24
|\ | | | | feat: add vim.str_utf_pos
| * feat: add vim.str_utf_pos functionMichael Lingelbach2021-10-24
| | | | | | | | | | vim.str_utf_pos returns the codepoints for all utf-8 chars (only, currently) in a string
* | feat(lua): document support of packages with v:lua syntaxBjörn Linse2021-10-23
| | | | | | | | this already worked in 0.5 but was not properly documented or tested
* | feat(decorations): support more than one virt_lines blockBjörn Linse2021-10-23
|/
* Merge pull request #14794 from BK1603/gdbserver_fixMatthieu Coudron2021-10-20
|\ | | | | functionaltest: fix running tests under gdbserver
| * test: close timers in vim_spec.lua functional testShreyansh Chouhan2021-09-20
| | | | | | | | | | | | | | Close the timer started during tests before closing the session. This fixes the uv_loop_close hangs happening in the functional tests. Signed-off-by: Shreyansh Chouhan <chouhan.shreyansh2702@gmail.com>
| * test: fix running functional tests under gdbserverShreyansh Chouhan2021-09-20
| | | | | | | | | | | | | | | | | | | | | | It was not possible to run the tests under the gdbserver because we were not closing the old session before starting a new one. This caused the server to not to be able to bind to the given address and crashing the tests. This commit closes the session before starting a new one. Signed-off-by: Shreyansh Chouhan <chouhan.shreyansh2702@gmail.com>
* | Merge pull request #16086 from bfredl/termpipe_inputBjörn Linse2021-10-20
|\ \ | | | | | | feat(nvim_open_term): support input callback in lua
| * | feat(nvim_open_term): support input callback in luaBjörn Linse2021-10-20
| | |
* | | fix(diagnostic): handle diagnostics placed past the end of line (#16095)Gregory Anders2021-10-19
| | |
* | | feat(lua): allow passing handles to vim.b/w/tLewis Russell2021-10-19
| | | | | | | | | | | | | | | | | | vim.bo can target a specific buffer by indexing with a number, e.g: `vim.bo[2].filetype` can get/set the filetype for buffer 2. This change replicates that behaviour for the variable namespace.
* | | refactor(diagnostic)!: replace 'show_*' functions with 'open_float' (#16057)Gregory Anders2021-10-19
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'show_line_diagnostics()' and 'show_position_diagnostics()' are almost identical; they differ only in the fact that the latter also accepts a column to form a full position, rather than just a line. This is not enough to justify two separate interfaces for this common functionality. Renaming this to simply 'show_diagnostics()' is one step forward, but that is also not a good name as the '_diagnostics()' suffix is redundant. However, we cannot name it simply 'show()' since that function already exists with entirely different semantics. Instead, combine these two into a single 'open_float()' function that handles all of the cases of showing diagnostics in a floating window. Also add a "float" key to 'vim.diagnostic.config()' to provide global values of configuration options that can be overridden ephemerally. This makes the float API consistent with the rest of the diagnostic API. BREAKING CHANGE
* | feat(api): evaluate statusline string #16020Famiu Haque2021-10-18
| | | | | | | | | | | | Adds API function `nvim_eval_statusline` to allow evaluating a statusline string and obtaining information regarding it. Closes https://github.com/neovim/neovim/issues/15849
* | fix(lsp): fix cursor row after textEdits (#16038)hrsh7th2021-10-18
| |
* | Merge pull request #15999 from famiu/fix/build/export-windows-symbolsBjörn Linse2021-10-17
|\ \ | | | | | | fix(build): export symbols on Windows
| * | fix(build): export symbols on WindowsFamiu Haque2021-10-17
| | | | | | | | | | | | | | | | | | Closes https://github.com/neovim/neovim/issues/15063 Allows using Neovim core functions using LuaJIT FFI on Windows.
* | | Merge pull request #15973 from bfredl/luapathBjörn Linse2021-10-17
|\ \ \ | | | | | | | | fix(runtime): don't use regexes inside lua require'mod'
| * | | fix(runtime): don't use regexes inside lua require'mod'Björn Linse2021-10-17
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #15147 and fixes #15497. Also sketch "subdir" caching. Currently this only caches whether an rtp entry has a "lua/" subdir but we could consider cache other subdirs potentially or even "lua/mybigplugin/" possibly. Note: the async_leftpad test doesn't actually fail on master, at least not deterministically (even when disabling the fast_breakcheck throttling). It's still useful as a regression test for further changes and included as such.
* | | Merge pull request #15952 from zeertzjq/vim-8.1.1291Jan Edmund Lazo2021-10-17
|\ \ \ | | | | | | | | vim-patch:8.0.{1459,1460,1461,1463},8.1.{0602,0604,1291},8.2.{0189,0876,0909,1411}: chdir and DirChanged related patches
| * | | test(dirchanged): add tests for DirChanged pattern "auto"zeertzjq2021-10-17
| | | |
| * | | refactor(dirchanged): tab -> tabpagezeertzjq2021-10-17
| | | | | | | | | | | | | | | | Match Vim's behavior.
| * | | vim-patch:8.1.0604: autocommand test fails on MS-Windowszeertzjq2021-10-17
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Autocommand test fails on MS-Windows. Solution: Use pathcmp() instead of strcmp() to check if a directory differs. https://github.com/vim/vim/commit/9eb76af451ddd8eaad0cd5dd629f18c4f4035171
| * | | vim-patch:8.1.0602: DirChanged is also triggered when directory didn't changezeertzjq2021-10-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: DirChanged is also triggered when the directory didn't change. (Daniel Hahler) Solution: Compare the current with the new directory. (closes vim/vim#3697) https://github.com/vim/vim/commit/2caad3fbbdbf1486a176c9f6bfbc3d9be90e09f7
* | | | fix(diagnostic): do not override existing config settings #16043Gregory Anders2021-10-17
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using `true` as the value of a configuration option, the option is configured to use default values. For example, if a user configures virtual text to include the source globally (using vim.diagnostic.config) and a specific namespace or producer configures virtual text with `virt_text = true`, the user's global configuration is overriden. Instead, interpret a value of `true` to mean "use existing settings if defined, otherwise use defaults".
* | | Merge #15994 feat(:source, nvim_exec): script-local scopeJustin M. Keyes2021-10-17
|\ \ \ | |/ / |/| |