aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* feat(lsp): option to reuse_win for jump actions (#18577)Lewis Russell2022-05-18
|
* Merge pull request #18507 from gpanders/au-lsp-attachedGregory Anders2022-05-18
|\
| * feat(lsp): add filter to vim.lsp.get_active_clients()Gregory Anders2022-05-18
| | | | | | | | | | Allow get_active_clients() to filter on client name, id, or buffer. This (soft) deprecates lsp.buf_get_clients().
| * 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>
* | build(deps): bump libuv to HEAD - 730e07e2f (#18606)Christian Clason2022-05-18
| |
* | 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.
* | Merge #18605 PVS fixesJustin M. Keyes2022-05-18
|\ \
| * | fix(PVS/V1044): suppress warningDundar Goc2022-05-17
| | |
| * | fix(PVS/V568): correct placement of ignore directiveDundar Goc2022-05-17
| | |
| * | fix(PVS/V547): "expression is always false"Dundar Goc2022-05-17
| | | | | | | | | | | | | | | Suppress warning in loop.c, the expression can be true if EXITFREE isn't defined.
| * | fix(PVS/V1028): prevent potential overflowDundar Goc2022-05-17
| | |
* | | vim-patch:8.2.4975: recursive command line loop may cause a crash (#18614)zeertzjq2022-05-18
|/ / | | | | | | | | | | | | Problem: Recursive command line loop may cause a crash. Solution: Limit recursion of getcmdline(). https://github.com/vim/vim/commit/51f0bfb88a3554ca2dde777d78a59880d1ee37a8 Cherry-pick e_command_too_recursive from patch 8.2.3957.
* | fix(health): handle non-existent log file #18610Noval Maulana2022-05-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: vim.lsp: require("vim.lsp.health").check() ======================================================================== - ERROR: Failed to run healthcheck for "vim.lsp" plugin. Exception: function health#check, line 20 Vim(eval):E5108: Error executing lua ...m/HEAD-6613f58/share/nvim/runtime/lua/vim/lsp/health.lua:20: attempt to index a nil value stack traceback: ...m/HEAD-6613f58/share/nvim/runtime/lua/vim/lsp/health.lua:20: in function 'check' [string "luaeval()"]:1: in main chunk Solution: Check for nil. fix #18602
* | refactor(runtime): convert more dist#ft functions to lua (#18430)Jonas Strittmatter2022-05-17
| |
* | Merge pull request #18554 from kevinhwang91/perf-timerstartbfredl2022-05-17
|\ \ | | | | | | perf(_editor): no need to stop inside vim.defer_fn
| * | perf(_editor): no need to stop inside vim.defer_fnkevinhwang912022-05-13
| | | | | | | | | | | | | | | | | | uv_run: 1. remove timer handle from heap 2. will start again if repeat is not 0
* | | fix(terminal): do not trim whitespace that is actually in the terminal (#16423)zeertzjq2022-05-17
| | |
* | | fix(health): correct shada file path #18603zeertzjq2022-05-17
| | |
* | | feat(lintcommit): remove "chore", add "dist" #18594dundargoc2022-05-17
| | | | | | | | | "chore" is never necessary, choose "fix" or "feat" if nothing else applies.
* | | docs(api): update v:errmsg behavior #18593Famiu Haque2022-05-17
| | |
* | | Merge pull request #18598 from zeertzjq/vim-8.2.4968zeertzjq2022-05-17
|\ \ \ | | | | | | | | vim-patch:8.2.{4121,4968,4969}: invalid memory access
| * | | vim-patch:8.2.4969: changing text in Visual mode may cause invalid memory accesszeertzjq2022-05-17
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Changing text in Visual mode may cause invalid memory access. Solution: Check the Visual position after making a change. https://github.com/vim/vim/commit/7ce5b2b590256ce53d6af28c1d203fb3bc1d2d97
| * | | vim-patch:8.2.4968: reading past end of the line when C-indentingzeertzjq2022-05-17
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Reading past end of the line when C-indenting. Solution: Check for NUL. https://github.com/vim/vim/commit/60ae0e71490c97f2871a6344aca61cacf220f813
| * | | vim-patch:8.2.4121: Visual test fails on MS-Windowszeertzjq2022-05-17
|/ / / | | | | | | | | | | | | | | | Problem: Visual test fails on MS-Windows. Solution: Set 'isprint' so that the character used is not printable. https://github.com/vim/vim/commit/262898ae43fa223916cfa27b0de81e5d9f3fc4b0
* | / docs: vim.regex is case sensitive by default (#18595)Gregory Anders2022-05-16
| |/ |/|
* | Merge pull request #18578 from dundargoc/refactor/remove-char_ubfredl2022-05-16
|\ \ | | | | | | refactor: remove char_u
| * | refactor: replace char_u variables and functions with charDundar Goc2022-05-16
| | | | | | | | | | | | Work on https://github.com/neovim/neovim/issues/459
* | | feat(man.vim): list command flags in "gO" outline #17558Joshua Cao2022-05-16
|/ /
* | fix(version.c): mark N/A vim patches #18587Justin M. Keyes2022-05-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | vim-patch:8.0.1119: quitting a split terminal window kills the job N/A, or tracked in https://github.com/neovim/neovim/issues/5431 vim-patch:8.0.1307: compiler warning for ignoring return value N/A vim-patch:8.0.1335: writefile() using fsync() may give an error N/A vim-patch:8.0.1339: no test for what 8.0.1335 fixes already merged in 5972ff00560b497de4cfe51d529b0c5aa9dd4fad vim-patch:8.0.1367: terminal test hangs, executing abcde N/A vim-patch:8.0.1562: the terminal debugger can't set breakpoint with mouse we have all :Termdebug changes vim-patch:8.0.1609: shell commands in the GUI use a dumb terminal tracked in https://github.com/neovim/neovim/issues/5431 vim-patch:8.0.1616: Win32: shell commands in the GUI open a new console (guioptions="!") tracked in https://github.com/neovim/neovim/issues/1496 vim-patch:8.0.1706: cannot sent CTRL-\ to a terminal window already possible via :call chansend()
* | ci(coverity): correct cron job time #18590zeertzjq2022-05-16
| | | | | | | | The comment says it should be run at 00:10 UTC, and in cron job format minutes come before hours.
* | feat(lua): add traceback to vim.deprecate #18575ii142022-05-15
| |
* | feat(terminfo): bump built-in terminfo entries (#18570)Marco Hinz2022-05-16
| | | | | | | | | | | | Removes NOLINT, which is pointless for the generated terminfo_defs.h. Adds `uncrustify:off`, so it is not uncrustify which complains about the same things (too long lines, no space after comma) instead.
* | ci: remove mingw job #18580dundargoc2022-05-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unnecessary CI builds increase the change of spurious failures, which are costly noise. Of course, we should fix all legitimate bugs, but we also cannot micro-manage every platform, so there needs to be a clear motivation for the CI builds that we maintain. Reasons against maintaining a mingw CI job: 1. The windows mingw build is slow. 2. Failures: - https://github.com/neovim/neovim/issues/18494 - https://github.com/neovim/neovim/issues/18495 3. The mingw artifact is 10x bigger than the windows MSVC artifact: https://github.com/neovim/neovim/issues/10560 4. Our releases publish the MSVC (not mingw) artifact for Windows users: https://github.com/neovim/neovim/releases 5. Non-MSVCRT has limitations documented by libuv: http://docs.libuv.org/en/v1.x/process.html > On Windows file descriptors greater than 2 are available to the child process only if the child processes uses the MSVCRT runtime. Closes https://github.com/neovim/neovim/issues/18551
* | ci(clint): remove checks for whitespace after comma/semicolon (#18584)Marco Hinz2022-05-16
| | | | | | | | | | uncrustify is the source of truth where possible. Remove any redundant checks from clint.py. See also https://github.com/neovim/neovim/pull/18563
* | docs(api): nvim_set_hl attributes #18558Oliver Marriott2022-05-15
| |
* | fix(api): nvim_eval_statusline should validate input #18347deforde2022-05-15
| | | | | | | | | | Fix #18112 Make an exception for strings starting with "%!".
* | ci(clint): remove clint.py line length check #18574dundargoc2022-05-15
| | | | | | | | | | uncrustify is the source of truth where possible. Remove any redundant checks from clint.py. See also https://github.com/neovim/neovim/pull/18563
* | Merge pull request #18581 from famiu/refactor/ui/vertsplitbfredl2022-05-15
|\ \ | | | | | | refactor(ui)!: link `VertSplit` to `Normal` by default
| * | 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.
* | | ci: enable tests on drafts as well #18566dundargoc2022-05-15
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | previous: https://github.com/neovim/neovim/pull/14123 CI tests were disabled on drafts #18566 to manage the large number of incoming jobs. While this did help, it had the drawback of making the purpose of the ready-for-review a bit fuzzier. It went from a clear "my PR is ready" signal to maintainers to somewhere between "my PR is ready but I need the tests to confirm" to "please don't merge yet, I just need to see the test results". Worse is that the specific case of wanting to see the test results but not wanting it merged is that this needs to be actively conveyed to the maintainers with a [DNM] or a comment to not merge the PR yet. All of this causes weird workarounds and noises which I believe isn't necessary. The reason why I don't think this workaround is needed anymore is that our CI now aborts a job if a new job from the same pull requests is created, which makes the "10 simultaneous jobs per PR" situations that triggered this not possible.
* | fix PVS warnings (#18459)dundargoc2022-05-15
| | | | | | | | | | | | | | | | | | | | | | | | | | * fix(PVS/V547): remove ifs that are always true or false * fix(PVS/V560): remove partial conditions that are always true * fix(PVS/V1044): suppress warning about loop break conditions * fix(PVS/V1063): suppress "modulo by 1 operation is meaningless" * fix(PVS/V568): suppress "operator evaluates the size of a pointer" Also mark vim-patch:8.2.4958 as ported.
* | build: enable EXITFREE on Debug builds (#17783)dundargoc2022-05-15
| | | | | | | | | | This makes it more convenient to find memory leaks since you don't need to remember to set the EXITFREE flag every time you use valgrind or a sanitizer.
* | build(gen_vimdoc): eliminate non-constant global variables (#17781)dundargoc2022-05-15
| |
* | docs(nvim_set_keymap): specify that optional arguments defaults to false ↵dundargoc2022-05-15
| | | | | | | | | | (#18177) Closes: https://github.com/neovim/neovim/issues/16919