aboutsummaryrefslogtreecommitdiff
path: root/test/functional
Commit message (Collapse)AuthorAge
* vim-patch:8.2.3121: 'listchars' "exceeds" character appears in foldcolumnzeertzjq2022-01-21
| | | | | | | | Problem: 'listchars' "exceeds" character appears in foldcolumn. Window separator is missing. (Leonid V. Fedorenchik) Solution: Only draw the "exceeds" character in the text area. Break the loop when not drawing the text. (closes vim/vim#8524) https://github.com/vim/vim/commit/41fb723ee97baa2f095cde601a5a144b168b7a6b
* test(put_spec): correctly order parameters to eq() (#17134)zeertzjq2022-01-19
| | | | The first parameter to eq() should be the expected value, and the second parameter should be the actual value.
* feat: use nvim_buf_set_extmark for vim.highlight (#16963)Michael Lingelbach2022-01-15
| | | | | | | | | Closes https://github.com/neovim/neovim/issues/13647 This allows customizing the priority of the highlights. * Add default priority of 50 * Use priority of 200 for highlight on yank * use priority of 40 for highlight references (LSP)
* Merge pull request #17001 from mjlbach/feat/non-strict-extmarksbfredl2022-01-15
|\ | | | | feat(extmarks): add strict option
| * Hopefully last attemptMichael Lingelbach2022-01-15
| |
| * Address review r3Michael Lingelbach2022-01-15
| |
* | fix(filetype): expand tildes in filetype patterns (#17091)Gregory Anders2022-01-14
| | | | | | | | | | | | | | This allows patterns like ["~/.config/foo"] = "fooscript" to work.
* | Merge pull request #16998 from zeertzjq/lua-vim-var-funcrefbfredl2022-01-14
|\ \ | | | | | | feat(api, lua): more conversions between LuaRef and Vim Funcref
| * | feat(api, lua): more conversions between LuaRef and Vim Funcrefzeertzjq2022-01-13
| | |
* | | Merge pull request #17034 from zeertzjq/compl-lua-selectbfredl2022-01-13
|\ \ \ | | | | | | | | feat(completion): support selecting item via API from Lua mapping
| * | | feat(completion): support selecting item via API from Lua mappingzeertzjq2022-01-11
| | | |
* | | | fix(lsp): strictly enforce passing offset encoding (#17049)Michael Lingelbach2022-01-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This removes the "fallback" to utf-16 in many of our helper functions. We should always explicitly pass these around when possible except in two locations: * generating params with help utilities called by buf.lua functions * the buf.lua functions themselves Anything that is called by the handler should be passed the offset encoding.
* | | | fix(lsp): handle negative activeSignature in signatureHelp (#17064)Mathias Fußenegger2022-01-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | omnisharp-roslyn can send negative values: { activeParameter = 0, activeSignature = -1, signatures = { { documentation = "", label = "TestEntity.TestEntity()", parameters = {} } } } In 3.16 of the specification `activeSignature` is defined as `uinteger` and therefore negative values shouldn't be allowed, but within 3.15 it was defined as `number` which makes me think we can be a bit lenient in this case and handle them. The expected behavior is quite clear: The active signature. If omitted or the value lies outside the range of `signatures` the value defaults to zero or is ignored if the `SignatureHelp` has no signatures. Fixes an error: util.lua:1685: attempt to get length of local 'lines' (a nil value) util.lua:1685: in function 'trim_empty_lines' handlers.lua:334: in function 'textDocument/signatureHelp'
* | | | fix(lsp): fix applying multiple out-of-range TextEdits (#17037)hrsh7th2022-01-13
| | | |
* | | | Merge pull request #16945 from theHamsta/cached-queriesThomas Vigouroux2022-01-13
|\ \ \ \ | | | | | | | | | | perf(treesitter): cache query parsing
| * | | | perf(treesitter): cache query parsingStephan Seitz2022-01-06
| | | | |
* | | | | fix(keywordprg): retain terminal buffer after K (#17046)Daniel Steinberg2022-01-12
| |_|/ / |/| | |
* | | | refactor(lsp): debounce timer per buf and unify with non-debounce (#17016)Mathias Fußenegger2022-01-11
| |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Part of the `pending_change` closure in the `changetracking.prepare` was a bit confusing because it has access to `bufnr` and `uri` but it could actually contain pending changes batched for multiple buffers. (We accounted for that by grouping `pending_changes` by a `uri`, but it's not obvious what's going on) This commit changes the approach to do everything per buffer to avoid any ambiguity. It also brings the debounce/no-debounce a bit closer together: The only difference is now whether a timer is used or if it is triggered immediately
* | | fix(completion): prevent K_LUA from closing pumzeertzjq2022-01-10
| | |
* | | test: use old style test for testing filetype.lua (#17003)Gregory Anders2022-01-09
| | | | | | | | | | | | | | | This is a much better solution than #16942 as it doesn't require copying every new change from test_filetype.vim into filetype_spec.lua (which is much more maintainable).
* | | Merge pull request #16983 from dundargoc/test/add-vimruntime-variableJames McCoy2022-01-08
|\ \ \ | | | | | | | | test: add VIMRUNTIME variable to the clear function
| * | | test: add VIMRUNTIME variable to the clear functionDundar Göc2022-01-08
| | | | | | | | | | | | | | | | Some of the tests will fail if this isn't explicitly set.
* | | | test: remove redundant feed_command('terminal') (#16993)zeertzjq2022-01-08
|/ / / | | | | | | It just types :terminal<CR> into the terminal, which is redundant.
* | / fix: make mode() return correct value in ex modebrian m. carlson2022-01-08
| |/ |/| | | | | | | | | | | | | | | When the user is in ex mode, a call to mode(1) is documented to return "cv". However, it does not currently do so, because the check which checks for ex mode is nested inside a conditional which is never reached in ex mode. Vim uses an explicit check for exmode_active, so let's do the same thing here. Add some tests for this case both with a TTY and in silent mode.
* | vim-patch:8.2.4014: git and gitcommit file types not properly recognized ↵Christian Clason2022-01-07
| | | | | | | | | | | | | | (#16953) Problem: Git and gitcommit file types not properly recognized. Solution: Adjust filetype detection. (Tim Pope, closes vim/vim#9477) https://github.com/vim/vim/commit/c689f8c3d98fffe7e13730e198ce120934528f9c
* | fix(lua): print multiple return values with =expr (#16933)Shadman2022-01-06
| |
* | feat(lua): add notify_once() (#16956)Gregory Anders2022-01-06
| | | | | | Like vim.notify(), but only displays the notification once.
* | Merge pull request #16591 from shadmansaleh/feat/lua_keymaps2Björn Linse2022-01-06
|\ \ | |/ |/| feat(lua): add support for lua keymaps
| * feat(lua): add vim.keymapshadmansaleh2022-01-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This introduces two new functions `vim.keymap.set` & `vim.keymap.del` differences compared to regular set_keymap: - remap is used as opposite of noremap. By default it's true for <Plug> keymaps and false for others. - rhs can be lua function. - mode can be a list of modes. - replace_keycodes option for lua function expr maps. (Default: true) - handles buffer specific keymaps Examples: ```lua vim.keymap.set('n', 'asdf', function() print("real lua function") end) vim.keymap.set({'n', 'v'}, '<leader>lr', vim.lsp.buf.references, {buffer=true}) vim.keymap.set('n', '<leader>w', "<cmd>w<cr>", {silent = true, buffer = 5 }) vim.keymap.set('i', '<Tab>', function() return vim.fn.pumvisible() == 1 and "<C-n>" or "<Tab>" end, {expr = true}) vim.keymap.set('n', '[%', '<Plug>(MatchitNormalMultiBackward)') vim.keymap.del('n', 'asdf') vim.keymap.del({'n', 'i', 'v'}, '<leader>w', {buffer = 5 }) ```
* | test(filetype): port test_filetype to LuaGregory Anders2022-01-05
| | | | | | | | | | | | | | | | | | | | Because filetype.lua is gated behind an opt-in variable, it's not tested during the "standard" test_filetype.vim test. So port the test into filetype_spec where we enable the opt-in variable. This means runtime Vim patches will need to update test_filetype in two places. This can eventually be removed if/when filetype.lua is made opt-out rather than opt-in.
* | fix(filetype): match on <afile> rather than <abuf> (#16943)Gregory Anders2022-01-05
| | | | | | | | | | | | | | Filetype detection runs on BufRead and BufNewFile autocommands, both of which can fire without an underlying buffer, so it's incorrect to use <abuf> to determine the file path. Instead, match on <afile> and assume that the buffer we're operating on is the current buffer. This is the same assumption that filetype.vim makes, so it should be safe.
* | feat(lsp): enable default debounce of 150 ms (#16908)Michael Lingelbach2022-01-05
| |
* | feat(autocmd): populate v:event in RecordingLeave (#16828)Axel Dahlberg2022-01-04
| |
* | test: fix absolute paths in filetype_spec (#16920)Gregory Anders2022-01-04
|/
* feat: filetype.lua (#16600)Gregory Anders2022-01-04
| | | | Adds a new vim.filetype module that provides support for filetype detection in Lua.
* test: make test for #14040 more stable (#16911)Daniel Steinberg2022-01-04
|
* feat(lua): make =expr print result of exprshadmansaleh2022-01-04
|
* fix(lua): stricter type check when calling API function (#16745)dundargoc2022-01-03
| | | | | Solves #13651 Co-authored-by: Gregory Anders <greg@gpanders.com>
* fix(diagnostic): improve validation for list arguments (#16855)Gregory Anders2022-01-01
| | | | | | Function arguments that expect a list should explicitly use tbl_islist rather than just checking for a table. This helps catch some simple errors where a single table item is passed as an argument, which passes validation (since it's a table), but causes other errors later on.
* feat(lua): add support for multiple optional types in vim.validate (#16864)Shadman2022-01-01
|
* test: make some tests more stable (#16860)zeertzjq2022-01-01
|
* feat(api): add support for lua function & description in keymapshadmansaleh2022-01-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Behavioral changes: 1. Added support for lua function in keymaps in -------------------------------------------- - nvim_set_keymap Can set lua function as keymap rhs like following: ```lua vim.api.nvim_{buf_}set_keymap('n', '<leader>lr', '', {callback = vim.lsp.buf.references}) ``` Note: lua function can only be set from lua . If api function being called from viml or over rpc this option isn't available. - nvim_{buf_}get_keymap When called from lua, lua function is returned is `callback` key . But in other cases callback contains number of the function ref. - :umap, nvim_del_keymap & nvim_buf_del_keymap clears lua keymaps correctly. - :map commands for displaing rhs . For lua keymaps rhs is displayed as <Lua function ref_no> Note: lua keymap cannot be set through viml command / functions. - mapargs() When dict is false it returns string in `<Lua function ref_no>` format (same format as :map commands). When dict is true it returns ref_no number in `callback` key. - mapcheck() returns string in `<Lua function ref_no>` format (same format as :map commands). 2. Added support for keymap description --------------------------------------- - nvim_{buf_}set_keymap: added `desc` option in opts table . ```lua vim.api.nvim_set_keymap('n', '<leader>w', '<cmd>w<cr>', {desc='Save current file'}) ``` - nvim_{buf_}get_keymap: contains `desc` in returned list. - commands like `:nmap <leader>w` will show description in a new line below rhs. - `maparg()` return dict contains `desc`.
* vim-patch:8.2.3952: first line not redrawn when adding lines to an empty bufferzeertzjq2021-12-31
| | | | | | | Problem: First line not redrawn when adding lines to an empty buffer. Solution: Adjust the argument to appended_lines(). (closes vim/vim#9439, closes vim/vim#9438) https://github.com/vim/vim/commit/1fa3de1ce806ba18ebcc00c6d9a0678a84735463
* Merge pull request #16373 from zeertzjq/terminal-mouse-release-forwardBjörn Linse2021-12-28
|\ | | | | fix(terminal): correctly forward mouse events
| * fix(terminal): correctly forward mouse eventszeertzjq2021-12-27
| |
* | feat(api): implement nvim_{add,del}_user_commandGregory Anders2021-12-28
|/ | | | | Add support for adding and removing custom user commands with the Nvim API.
* fix(uri): change scheme pattern to not include the comma character (#16797)Dmytro Meleshko2021-12-26
|
* Merge pull request #16596 from ↵Björn Linse2021-12-26
|\ | | | | | | | | dm1try/do_not_leave_terminal_mode_after_mouse_activation do not leave Terminal mode after entering to it using a mouse
| * fix(terminal): ignore left-release mouse actiondm1try2021-12-10
| | | | | | | | | | | | | | | | | | if it is not proccesed by the terminal program to prevent leaving Terminal mode after using a mouse for window switching closes #9483 closes #8691
* | fix: do not save K_EVENT as lastc in Insert modezeertzjq2021-12-26
| | | | | | | | I'm also gonna move some other K_EVENT-related tests to vim_spec.lua