aboutsummaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAge
* Merge pull request #18629 from famiu/fix/ui/winbarbfredl2022-05-19
|\ | | | | fix(ui): make `winbar` properly equalize window heights for local value
| * fix(ui): make `winbar` properly equalize window heights for local valueFamiu Haque2022-05-19
| | | | | | | | | | Fixes `'winbar'` not properly equalizing window heights for splits when the global value is empty and a window-local value is set instead.
* | fix(mouse): fix mouse drag position with winbar or border in multigridzeertzjq2022-05-19
| |
* | fix(mouse): fix mouse drag position with winbarzeertzjq2022-05-19
| |
* | test(mksession_spec): only sleep on Windows (#18637)zeertzjq2022-05-19
| |
* | fix(termopen): avoid ambiguity in URI when CWD is root dir (#16988)zeertzjq2022-05-19
| |
* | Merge pull request #18620 from bfredl/multibarbfredl2022-05-18
|\ \ | | | | | | fix(ui): make winbar work with floats and multigrid
| * | fix(ui): make winbar work with floats and multigridbfredl2022-05-18
| | |
* | | Merge pull request #18507 from gpanders/au-lsp-attachedGregory Anders2022-05-18
|\ \ \
| * | | feat(lsp): add LspAttach and LspDetach autocommandsGregory Anders2022-05-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current approach of using `on_attach` callbacks for configuring buffers for LSP is suboptimal: 1. It does not use the standard Nvim interface for driving and hooking into events (i.e. autocommands) 2. There is no way for "third parties" (e.g. plugins) to hook into the event. This means that *all* buffer configuration must go into the user-supplied on_attach callback. This also makes it impossible for these configurations to be modular, since it all must happen in the same place. 3. There is currently no way to do something when a client detaches from a buffer (there is no `on_detach` callback). The solution is to use the traditional method of event handling in Nvim: autocommands. When a LSP client is attached to a buffer, fire a `LspAttach`. Likewise, when a client detaches from a buffer fire a `LspDetach` event. This enables plugins to easily add LSP-specific configuration to buffers as well as enabling users to make their own configurations more modular (e.g. by creating multiple LspAttach autocommands that each do something unique).
* | | | Merge pull request #18624 from famiu/feat/ui/winbarbfredl2022-05-18
|\ \ \ \ | |/ / / |/| | / | | |/ | |/| fix(ui): set correct position on mouse click when 'winbar' is enabled
| * | fix(ui): set correct position on mouse click when 'winbar' is enabledFamiu Haque2022-05-18
| |/
* / feat(api): enable nvim_exec_autocmds to pass arbitrary data (#18613)Gregory Anders2022-05-18
|/ | | | Add a "data" key to nvim_exec_autocmds that passes arbitrary data (API objects) to autocommand callbacks.
* Merge pull request #18562 from famiu/feat/ui/winbarbfredl2022-05-18
|\ | | | | feat(ui): add `'winbar'`
| * feat(ui): add `'winbar'`Famiu Haque2022-05-18
| | | | | | | | | | | | | | Adds support for a bar at the top of each window, enabled through the `'winbar'` option. Co-authored-by: Björn Linse <bjorn.linse@gmail.com>
* | test: fix mksession terminal CWD test again (#18615)zeertzjq2022-05-18
| |
* | test: unskip tests on Windows (#18600)zeertzjq2022-05-18
| | | | | | | | | | | | Remove the command('qall!') from mksession_spec.lua because it prevents helpers.rmdir() from retrying. Allow extra trailing spaces when matching terminal lines.
* | fix(PVS/V1044): suppress warningDundar Goc2022-05-17
| |
* | fix(terminal): do not trim whitespace that is actually in the terminal (#16423)zeertzjq2022-05-17
|/
* fix(api): nvim_eval_statusline should validate input #18347deforde2022-05-15
| | | | | Fix #18112 Make an exception for strings starting with "%!".
* refactor(ui)!: link `VertSplit` to `Normal` by defaultFamiu Haque2022-05-15
| | | | | Avoids using `gui=reverse` on `VertSplit` and makes window separators look much nicer by default.
* fix(man.vim): q in "$MANPAGER mode" does not quit #18443Arsham Shirvani2022-05-13
| | | | | | | | | | | | | | | | | Problem: q in "$MANPAGER mode" does not quit Nvim. This is because ftplugin/man.vim creates its own mapping: nnoremap <silent> <buffer> <nowait> q :lclose<CR><C-W>c which overrides the one set by the autoload file when using :Man! ("$MANPAGER mode") Solution: Set b:pager during "$MANPAGER mode" so that ftplugin/man.vim can set the mapping correctly. Fixes #18281 Ref #17791 Helped-by: Gregory Anders <8965202+gpanders@users.noreply.github.com>
* vim-patch:8.2.2797: Search highlight disappears in the Visual area (#17947)zeertzjq2022-05-13
| | | | | Problem: Search highlight disappears in the Visual area. Solution: Combine the search attributes. (closes vim/vim#8134) https://github.com/vim/vim/commit/2d5f385cee3668c44089edcb9d60b0b5d751ee5d
* revert: "feat(mappings): do not simplify the rhs of a mapping" (#18553)zeertzjq2022-05-13
| | | | This reverts commit 7ac5359143ef25c4c8c0c427d5533f8d5824ed17. This fix can cause more problems than it solves.
* feat(defaults): search selection by * and # in visual mode (#18538)yamatsum2022-05-13
|
* fix(windows): stdpath("state") => "nvim-data" #18546dundargoc2022-05-12
| | | This was missed in https://github.com/neovim/neovim/pull/15583
* fix(lsp): perform client side filtering of code actions (#18392)Fredrik Ekre2022-05-12
| | | | | | | | Implement filtering of actions based on the kind when passing the 'only' parameter to code_action(). Action kinds are hierachical with a '.' as the separator, and the filter thus allows, for example, both 'quickfix' and 'quickfix.foo' when requestiong only 'quickfix'. Fix https://github.com/neovim/neovim/pull/18221#issuecomment-1110179121
* fix(cmd): make :-tabmove work with modifiers (#18447)Marco Hinz2022-05-12
| | | | | | | | | `:tabmove` takes either an argument (`:tabmove -`) or an address (`:-tabmove`). The code assumed that `:tabmove` is the first command on the cmdline, but that is not the case when using additional modifiers like `:silent`. Make the addr parsing more robust by searching the command first, then going back to check for a potential address `-`.
* feat(defaults): session data in $XDG_STATE_HOME #15583Ivan2022-05-12
| | | | | | | | | | | | See: https://gitlab.freedesktop.org/xdg/xdg-specs/-/commit/4f2884e16db35f2962d9b64312917c81be5cb54b - Move session persistent data to $XDG_STATE_HOME Change 'directory', 'backupdir', 'undodir', 'viewdir' and 'shadafile' default location to $XDG_STATE_HOME/nvim. - Move logs to $XDG_STATE_HOME, too. - Add stdpath('log') support. Fixes: #14805
* refactor: rename keymap.{c,h} to keycodes.{c,h} (#18535)zeertzjq2022-05-12
| | | | | | | | Most code in keymap.h is for keycode definitions, while most code in keymap.c is for the parsing and conversion of keycodes. The name "keymap" may also make people think these two files are for mappings, while in fact keycodes are used even when no mappings are involved, so "keycodes" should be a better file name than "keymap".
* fix(api): make `nvim_cmd` work correctly with empty arguments list (#18527)Famiu Haque2022-05-11
| | | Closes #18526.
* Merge pull request #18366 from famiu/feat/api/nvim_cmdbfredl2022-05-11
|\ | | | | feat(api): add `nvim_cmd`
| * feat(api): add `nvim_cmd`Famiu Haque2022-05-11
| | | | | | | | Adds the API function `nvim_cmd` which allows executing an Ex-command through a Dictionary which can have the same values as the return value of `nvim_parse_cmd()`. This makes it much easier to do things like passing arguments with a space to commands that otherwise may not allow it, or to make commands interpret certain characters literally when they otherwise would not.
* | test: convert two statusline oldtests to Lua screen testszeertzjq2022-05-10
|/
* fix(api): make `nvim_parse_cmd` work correctly with both range and countFamiu Haque2022-05-07
| | | | | | | | It seems range and count can be used together in commands. This PR fixes the behavior of `nvim_parse_cmd` for those cases by removing the mutual exclusivity of "range" and "count". It also removes range line number validation for `nvim_parse_cmd` as it's not its job to validate the command.
* Merge pull request #18438 from famiu/feat/api/nvim_parse_cmdbfredl2022-05-06
|\ | | | | fix(api): make `nvim_parse_cmd` propagate errors
| * fix(api): make `nvim_parse_cmd` propagate errorsFamiu Haque2022-05-05
| | | | | | | | | | Makes `nvim_parse_cmd` propagate any errors that occur while parsing to give the user a better idea of what's wrong with the command.
* | fix(lsp): fix rename capability checks and multi client support (#18441)Mathias Fußenegger2022-05-05
| | | | | | | | | | | | | | | | Adds filter and id options to filter the client to use for rename. Similar to the recently added `format` function. rename will use all matching clients one after another and can handle a mix of prepareRename/rename support. Also ensures the right `offset_encoding` is used for the `make_position_params` calls
* | Merge pull request #18431 from famiu/feat/api/nvim_get_autocmds/group_namebfredl2022-05-05
|\ \ | | | | | | feat(api): add `group_name` to `nvim_get_autocmds`
| * | feat(api): add `group_name` to `nvim_get_autocmds`Famiu Haque2022-05-05
| | |
* | | fix(lsp): make sure to always reset active codelens refreshes (#18331)William Boman2022-05-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes issues where subsequent calls to vim.lsp.codelens.refresh() would have no effect due to the buffer not getting cleared from the active_refresh table. Examples of how such scenarios would occur are: - A textDocument/codeLens result yielded an error. - The 'textDocument/codeLens' handler was overriden in such a way that it no longer called vim.lsp.codelens.on_codelens().
* | | Merge pull request #18314 from tk-shirasaka/global-statusline-on-ext_messagesbfredl2022-05-05
|\ \ \ | |_|/ |/| | fix: display global statusline correctly with ext_messages
| * | fix: display global statusline correctly with ext_messagesshirasaka2022-05-05
| |/
* / refactor(api): make `range` in `nvim_parse_cmd` an arrayFamiu Haque2022-05-05
|/ | | | | | | | Changes the `range` value in `nvim_parse_cmd` into an array to describe range information more concisely. Also makes `range` and `count` be mutually exclusive by making count `-1` when command takes a range instead of a count. Additionally corrects the behavior of `count` for built-in commands by making the default count `0`.
* Merge pull request #18386 from ii14/version_dict_prereleasebfredl2022-05-04
|\ | | | | feat: add "prerelease" to version dict
| * feat: add "prerelease" to version dictii142022-05-03
| |
* | feat(nvim_parse_cmd): add range, count, reg #18383Famiu Haque2022-05-04
| | | | | | | | | | Adds range, count and reg to the return values of nvim_parse_cmd. Also makes line1 and line2 be -1 if the command does not take a range. Also moves nvim_parse_cmd to vimscript.c because it fits better there.
* | Merge pull request #15674 from yatli/ui_event_extmarkbfredl2022-05-03
|\ \ | | | | | | API/UI: ui_event_extmark
| * | feat(api/ui): win_extmarksYatao Li2022-05-03
| |/
* / feat(server): set $NVIM, unset $NVIM_LISTEN_ADDRESS #11009Justin M. Keyes2022-05-03
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PROBLEM ------------------------------------------------------------------------ $NVIM_LISTEN_ADDRESS has conflicting purposes as both a parameter ("the current process should listen on this address") and a descriptor ("the current process is a child of this address"). This contradiction means the presence of NVIM_LISTEN_ADDRESS is ambiguous, so child Nvim always tries to listen on its _parent's_ socket. This is the cause of lots of "Failed to start server" spam in our test/CI logs: WARN 2022-04-30… server_start:154: Failed to start server: address already in use: \\.\pipe\nvim-4480-0 WARN 2022-04-30… server_start:154: Failed to start server: address already in use: \\.\pipe\nvim-2168-0 SOLUTION ------------------------------------------------------------------------ 1. Set $NVIM to the parent v:servername, *only* in child processes. - Now the correct way to detect a "parent" Nvim is to check for $NVIM. 2. Do NOT set $NVIM_LISTEN_ADDRESS in child processes. 3. On startup if $NVIM_LISTEN_ADDRESS exists, unset it immediately after server init. 4. Open a channel to parent automatically, expose it as v:parent. Fixes #3118 Fixes #6764 Fixes #9336 Ref https://github.com/neovim/neovim/pull/8247#issuecomment-380275696 Ref #8696