aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
| * | | fix(autocmds): separate command from desc (#18617)kylo2522022-05-21
| | | |
| * | | refactor: add warnings for deprecated functions (#18662)dundargoc2022-05-21
| | | |
| * | | ci: bump github actions versions #18616dundargoc2022-05-20
| | | |
| * | | build(clint.py): remove rules for includes, whitespace, tabs #18611dundargoc2022-05-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Uncrustify is the source of truth where possible. Remove any redundant checks from clint.py. See also https://github.com/neovim/neovim/pull/18563 Closes https://github.com/neovim/neovim/issues/17763
| * | | ci: lint with uncrustify #18563dundargoc2022-05-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This lint job will ensure that the C codebase is properly formatted at all times. This helps eliminate most of clint.py. To save CI time, it's faster to manually compile uncrustify and cache the binary instead of using homebrew (the apt-get package is too old).
| * | | refactor: remove unused USE_WCHAR_FUNCTIONS #18618Lewis Russell2022-05-20
| | | | | | | | | | | | | | | | USE_WCHAR_FUNCTIONS is never defined and we don't trust libc wchar functions anyway.
| * | | fix(unittests): coredump when running unit tests #18663Jun-ichi TAKIMOTO2022-05-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fs_init() must be called before early_init() in init/helpers.lua If I run 'make unittest' on my Mac (macOS 10.14/Mojave or 12/Big Sur, intel CPU), every test produce a core dump. Call sequence in the core is: early_init() main.c:197 set_init_1() option.c:508 runtimepath_default() runtime.c:1205 get_lib_dir() runtime.c:1175 os_isdir() fs.c:137 os_getperm() fs.c:777 os_stat() fs.c:761 fs_loop_lock() fs.c:72 uv_mutex_lock(&fs_loop_mutex) thread.c:352 abort() .deps/build/src/libuv/src/unix/thread.c: void uv_mutex_lock(uv_mutex_t* mutex) { if (pthread_mutex_lock(mutex)) abort(); // line 352 } So pthread_mutex_lock(&fs_loop_mutex) failed. The reason seems to be simple. fs_init() was not called and fs_loop_mutex has not been initialized. fs_init() was moved out from early_init() in main.c by b87867e69e94d9784468a126f21c721446f080de, but unit/helpers.lua was not updated accordingly.
| * | | Merge pull request #18648 from jamessan/coverity-fixesJames McCoy2022-05-20
| |\ \ \
| | * | | ci(coverity): run every day instead of once/weekJames McCoy2022-05-20
| | | | | | | | | | | | | | | | | | | | | | | | | Neovim currently falls in the 100 kLOC - 500 kLOC bucket, which can scan 3x/day.
| | * | | perf(cid/350479): avoid copying ExtmarkInfo when calling extmark_to_array()James McCoy2022-05-20
| | | | |
| | * | | fix(cid/352782): assert str->items is non-NULL to hint static analyzersJames McCoy2022-05-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The earlier vsnprintf() call checks whether str->items is NULL, sets of the "possible NULL" spidey sense. kv_ensure_space() guarantees str->items is non-NULL but since it doesn't use NULL checks to decide whether to alloc, static analyzers can't tell this code path is safe.
| | * | | fix(cid/348314): free user_copy, not userJames McCoy2022-05-20
| | | | | | | | | | | | | | | | | | | | | | | | | user is passed in by the caller, which we internally copy. We should be freeing our copy, not the caller's string.
| | * | | fix(cid/351940): free compl_arg in create_user_commands()'s error path exitJames McCoy2022-05-20
| | | | |
| | * | | ci(coverity): annotate register_cfunc as leaking memoryJames McCoy2022-05-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | register_cfunc allocates a ufunc_T, but doesn't store the pointer anywhere before returning. The uf_name member variable is stored in a hashtable and used to lookup the ufunc_T later, but that's too much for Coverity to track. Adding the annotation ensures that any new callers to register_cfunc don't pop up as new "leaks" in the Coverity scans.
| | * | | ci(coverity): model our allocation functionsJames McCoy2022-05-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Coverity was reporting false positives, particularly around for non-NUL terminated strings around uses of xmemdupz(). The updated model ensures Coverity understands xmemdupz allocates an extra byte and sets it to NUL as well as the main details of our other allocation related wrappers.
| * | | | Merge pull request #18664 from famiu/fix/winbar_crashbfredl2022-05-20
| |\ \ \ \ | | | | | | | | | | | | fix: prevent crash when statusline expression sets value of 'winbar'
| | * | | | fix: prevent crash when statusline expression sets value of 'winbar'Famiu Haque2022-05-20
| | | | | | | | | | | | | | | | | | | | | | | | Closes #18649
| * | | | | build(deps): bump LuaJIT to HEAD - 4ef96cff8 (#18656)Christian Clason2022-05-20
| | | | | |
| * | | | | Merge pull request #18653 from dundargoc/refactor/move-reverse-textbfredl2022-05-20
| |\ \ \ \ \ | | | | | | | | | | | | | | refactor: move reverse_text to strings.c as it's a string operation
| | * | | | | refactor: move reverse_text to strings.c as it's a string operationDundar Goc2022-05-20
| | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also add tests for reverse_text. Co-authored-by: Kalle Ranki <kalle.ranki@gmail.com>
| * | | | | Merge pull request #18657 from dundargoc/vim-8.2.4985zeertzjq2022-05-20
| |\ \ \ \ \ | | |/ / / / | |/| | | | vim-patch:8.2.4985: PVS warns for possible array underrun
| | * | | | vim-patch:8.2.4985: PVS warns for possible array underrunDundar Goc2022-05-20
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | Problem: PVS warns for possible array underrun. Solution: Add a check for a positive value. (closes vim/vim#10451) https://github.com/vim/vim/commit/875339b22a989d0782097036169e8fb9e2100d7e
| * | | | Merge pull request #18641 from famiu/fix/nvim_cmd/keymap_error_suppressbfredl2022-05-20
| |\ \ \ \ | | | | | | | | | | | | fix: make `nvim_cmd` not suppress errors inside key mapping
| | * | | | fix: make `nvim_cmd` not suppress errors inside key mappingFamiu Haque2022-05-19
| | | | | | | | | | | | | | | | | | | | | | | | Closes #18632
| * | | | | fix(lsp): only send diagnostics from current buffer in code_action() (#18639)Fredrik Ekre2022-05-20
| | |/ / / | |/| | | | | | | | | | | | | Fix vim.lsp.buf.(range_)code_action() to only send diagnostics belonging to the current buffer and not to other files in the workspace.
| * | | | vim-patch:8.2.4980: when 'shortmess' contains 'A' loading session may still ↵zeertzjq2022-05-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | warn (#18636) Problem: When 'shortmess' contains 'A' loading a session may still warn for an existing swap file. (Melker Österberg) Solution: Keep the 'A' flag to 'shortmess' in the session file. (closes vim/vim#10443) https://github.com/vim/vim/commit/aaadb5b6f76ea03e5eb460121f3dbf46ad04ce50 Use readfile() with "B" flag in test as readblob() needs patch 8.2.2343.
| * | | | 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.
| * | | | | Merge pull request #18638 from zeertzjq/fix-winbar-mousezeertzjq2022-05-20
| |\ \ \ \ \ | | | | | | | | | | | | | | Fix mouse drag position with winbar
| | * | | | | fix(mouse): fix mouse drag position with winbar or border in multigridzeertzjq2022-05-19
| | | | | | |
| | * | | | | fix(mouse): fix mouse drag position with winbarzeertzjq2022-05-19
| |/ / / / /
| * | | | | Merge pull request #18502 from drybalka/fix-languagetree-contains-descriptionChristian Clason2022-05-19
| |\ \ \ \ \ | | |_|/ / / | |/| | | | treesitter: small improvements of languagetree.lua
| | * | | | refactor: simple logic in tree_contains()Denys2022-05-18
| | | | | |
| | * | | | docs: correct description of LanguageTree:contains()Denys2022-05-18
| | | | | |
| * | | | | test(mksession_spec): only sleep on Windows (#18637)zeertzjq2022-05-19
| | | | | |
| * | | | | vim-patch:8.2.4979: accessing freed memory when line is flushed (#18634)zeertzjq2022-05-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Accessing freed memory when line is flushed. Solution: Make a copy of the pattern to search for. https://github.com/vim/vim/commit/28d032cc688ccfda18c5bbcab8b50aba6e18cde5
| * | | | | Merge pull request #18630 from dundargoc/refactor/remove-remapGregory Anders2022-05-18
| |\ \ \ \ \
| | * | | | | refactor!: remove 'terse' optionDundar Goc2022-05-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Having two methods of setting the same option is redundant and can be potentially confusing. Recommend adding 's' to 'shortmess' instead.
| | * | | | | refactor!: remove 'remap' optionDundar Goc2022-05-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An option that should always be kept on except for when working with old Vi scripts is of little use to us.
| * | | | | | 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
| | * | | | | | refactor(events): remove unnecessary fudging of updating_screenbfredl2022-05-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was not necessary after the introduction of `resize_events`, after which ui resizes are not `fast_events` anymore.
| | * | | | | | fix(ui): make winbar work with floats and multigridbfredl2022-05-18
| | | | | | | |
| | * | | | | | refactor: move more grid functions to grid.c. Clean up some variablesbfredl2022-05-18
| | | | | | | |
| | * | | | | | refactor: grid->rows and grid->colsbfredl2022-05-18
| | | | | | | |
| * | | | | | | 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