aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* fix(lsp): send empty "added" list when removing workspace folder #24440Mitchell Hanberg2023-07-24
| | | | | | | | | | | | | | | | | | When adding `workspace/didChangeWorkspaceFolders` support to my [language server](https://github.com/elixir-tools/next-ls), I noticed that when neovim removes a workspace, it sends an empty table (which is serialized to an empty JSON array) for the value in the `added` field. This does not follow the spec; the `added` table should just be empty. The following error led me to this discovery. Note the payload includes `"added" => [[]]`: ``` 22:46:48.476 [error] LSP Exited. Last message received: handle_notification %{"jsonrpc" => "2.0", "method" => "workspace/didChangeWorkspaceFolders", "params" => %{"event" => %{"added" => [[]], "removed" => [%{"name" => "/Users/mitchell/src/gen_lsp", "uri" => "file:///Users/mitchell/src/gen_lsp"}]}}} ** (MatchError) no match of right hand side value: {:error, %{"params" => %{"event" => %{"added" => [error: "expected a map"]}}}} (gen_lsp 0.4.0) lib/gen_lsp.ex:265: anonymous fn/4 in GenLSP.loop/3 (gen_lsp 0.4.0) lib/gen_lsp.ex:292: GenLSP.attempt/3 (stdlib 5.0.2) proc_lib.erl:241: :proc_lib.init_p_do_apply/3 ```
* fix(lsp): noisy warning about offset_encodings #24441Keith Smiley2023-07-24
| | | | | In the case you hit this warning in a buffer (like with C++ and clangd), this message potentially fires over and over again making it difficult to use the editor at all.
* fix(gx): move to to _init_default_mappings #24420marshmallow2023-07-24
| | | | | | | | Problem: netrw may conflict with the Nvim default "gx" mapping. Solution: Initialize keymapping earlier by moving it to vim._init_default_mappings(). That also avoids needing to check maparg().
* fix(treesitter): stop() should treat 0 as current buffer #24450Micah Halter2023-07-24
|
* docs(vim_diff): fixed inconsistent autocmds behavior #24453ii142023-07-24
|
* fix(mouse): drag vsep of window with 'statuscolumn' (#24462)zeertzjq2023-07-24
| | | | | | Problem: Cannot drag a vertical separator to the right of a window whose 'statuscolumn' is wider than itself. Solution: Never treat a click on a vertical separator as a click on 'statuscolumn'.
* fix(statuscolumn): don't update clicks if current width is 0 (#24459)zeertzjq2023-07-24
|
* fix(terminal): call validate_cursor() before screen update (#24425)fredizzimo2023-07-23
| | | | | | | | | | | | | Problem: When the CurSearch highlight group is set, and a search is active and you are listening to the remote UI "win_viewport" events, then typing is very unresponsive, because "win_viewport" is not sent as soon as the character is typed. On the other hand if you refresh the screen on "flush", the screen will scroll with a delay since "win_viewport" comes too late. I estimate this delay be up to one second, but it varies. Solution: Call validate_cursor() before drawing the screen, just like other modes. No tests have been added because only the intermediate state is wrong.
* fix(highlight): make CurSearch work properly with 'winhl' (#24448)zeertzjq2023-07-23
|
* build(deps): bump tree-sitter to HEAD - 3f44b8968 (#24447)Christian Clason2023-07-23
|
* build(deps): bump tree-sitter-python to v0.20.3 (#24446)Christian Clason2023-07-23
|
* test: reduce flakiness (#24443)zeertzjq2023-07-23
| | | | | | | Avoid consecutive RPC requests involving :startinsert or :stopinsert, because consecutive RPC requests may be processed together, before the :startinsert or :stopinsert takes effect. Also change some feed_command() to command() to make tests faster.
* test: fix VimResume test flakiness (#24438)zeertzjq2023-07-23
|
* test: check that TextChangedT cannot delete terminal buffer (#24437)zeertzjq2023-07-23
|
* test: check real cursor position in Terminal mode (#24436)zeertzjq2023-07-23
|
* fix(events): trigger VimResume on next UI request (#24426)zeertzjq2023-07-23
|
* fix(treesitter): update markdown parser and queries (#24429)Christian Clason2023-07-22
|
* refactor: remove some (const char **) casts (#24423)zeertzjq2023-07-22
|
* refactor(lsp): use LspNotify for inlay_hint (#24411)Chris AtLee2023-07-22
|
* fix(api/options): validate buf and winLewis Russell2023-07-22
| | | Fixes #24398
* docs(lua): add missing word in docs for vim.empty_dict (#24401)Gnik2023-07-22
|
* fix(terminal): send Shift-Home Shift-End Ctrl-Home Ctrl-End (#24418)zeertzjq2023-07-22
|
* Merge #24392 from mrshmllow/gx_winJustin M. Keyes2023-07-21
|\ | | | | fix(ui.open): some URLs fail on Windows
| * test(vim.ui.open): mock failure on WindowsJustin M. Keyes2023-07-21
| | | | | | | | | | | | | | | | | | Problem: On Windows, `rundll32` exits zero (success) even when given a non-existent file. Solution: Mock vim.system() on Windows to force a "failure" case.
| * fix(ui.open): some URLs fail on Windowsmarshmallow2023-07-21
| | | | | | | | | | | | | | | | | | | | | | | | Problem: On Windows, `explorer.exe` fails to open some URLs, for example: :lua vim.ui.open('https://devdocs.io/#q=lua%20lua_call') https://github.com/neovim/neovim/pull/23401#issuecomment-1641015704 Solution: Use rundll32 instead.
* | docs(lsp): clean up LSP event documentation #24413Chris AtLee2023-07-21
|/ | | Alphabetize LSP events, and make formatting consistent.
* docs: also change "vimL" and "viml" to "Vimscript" (#24414)zeertzjq2023-07-21
|
* fix(folds): update folds in Insert mode with fdm=indent (#24402)Brandon Simmons2023-07-21
| | | | | | | | | | | Previously, when using foldmethod=indent, inserting an unindented line would inadvertently open closed folds below it. As a performance improvement, folds were only updated once, across all lines, after Insert mode was exited. Now, the performance improvement is no longer being used when foldmethod=indent, so folds are updated multiple times during Insert mode, but only across the lines that are changing, which preserves the folds (and their open/close states) instead of recreating them.
* fix(decoration_provider): don't leak memory on error (#24410)zeertzjq2023-07-21
|
* feat(lsp): implement textDocument/diagnostic (#24128)Chris AtLee2023-07-20
|
* docs(lua): clarify fs.find() documentation #24394futsuuu2023-07-19
|
* feat(decoration_provider): log errors as error messagesThomas Vigouroux2023-07-19
|
* feat(lsp): handle multiple clients in omnifunc (#24381)Mathias Fußenegger2023-07-19
| | | | | Also fixes https://github.com/neovim/neovim/issues/24369 by adding an extra `vim.schedule` to ensure the `vim.fn.complete` call happens outside of a luv callback
* test(startup_spec): add a test for #18315 (#24391)zeertzjq2023-07-19
|
* docs(lua): more improvements (#24387)Lewis Russell2023-07-18
| | | | | | | | | | | | | | | | | * docs(lua): teach lua2dox how to table * docs(lua): teach gen_vimdoc.py about local functions No more need to mark local functions with @private * docs(lua): mention @nodoc and @meta in dev-lua-doc * fixup! Co-authored-by: Justin M. Keyes <justinkz@gmail.com> --------- Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
* build(scripts): allow a git ref for lsp_types #24377kylo2522023-07-18
| | | | | | USAGE: nvim -l scripts/lsp_types.lua gen nvim -l scripts/lsp_types.lua gen --build/new_lsp_types.lua nvim -l scripts/lsp_types.lua gen --out runtime/lua/vim/lsp/types/protocol.lua --ref 2023.0.0a2
* refactor(lua2dox): overhaul (#24386)Lewis Russell2023-07-18
|
* fix(fs.lua): normalize slash truncation (#23753)Mike2023-07-18
| | | Preserve last slash in windows' root drive directories
* Merge pull request #24363 from lewis6991/docs/luatypesLewis Russell2023-07-17
|\ | | | | docs(lua): move some function docs to lua files
| * fix: doc errorsLewis Russell2023-07-17
| |
| * fix: luacheckLewis Russell2023-07-17
| |
| * refactor(gen_vimdoc): put defgroup handling in a functionLewis Russell2023-07-17
| |
| * docs(lua): change *lua-foo* -> *vim.foo*Lewis Russell2023-07-17
| |
| * docs(lua): move function docs to lua filesLewis Russell2023-07-17
| |
| * docs: handle whitespace in emmycommentsLewis Russell2023-07-17
| |
| * docs(lua): do not render self argsLewis Russell2023-07-17
| |
| * refactor: rename _meta.lua to _options.luaLewis Russell2023-07-17
| |
* | feat(lsp)!: rename vim.lsp.get_active_clients to get_clients (#24113)Mathias Fußenegger2023-07-17
| |
* | fix(terminal): don't send unknown special keys to terminal (#24378)zeertzjq2023-07-17
| | | | | | | | Special keys are negative integers, so sending them to terminal leads to strange behavior.
* | feat(options)!: remove compatible behaviours for vim 5.0 and earlierLewis Russell2023-07-17
| |