aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* vim-patch:d4634a26cdcdChristian Clason2024-01-04
| | | | | | | | runtime(vim): Add support for `syntax foldlevel` command (vim/vim#6182) https://github.com/vim/vim/commit/d4634a26cdcdbd0f22ec608bb4954cd7eb8db528 Co-authored-by: Brad King <brad.king@kitware.com>
* vim-patch:9.1.0001: when closing window, wincmd p may failChristian Clason2024-01-03
| | | | | | | | | | | | | | | | | | | | Avoid `prevwin == curwin` when closing `curwin` Problem: When closing the current window (or when moving it to a tabpage), the previous window may refer to the new current window (`winnr() == winnr('#')`) if that window is selected as the new current window. Solution: Set `prevwin = NULL` when switching away from an invalid `curwin` and the target window was the `prevwin`. (Sean Dewar) related: vim/vim#4537 closes: vim/vim#13762 https://github.com/vim/vim/commit/bf44b69d1f91d9778ae1887128c63d35d9a3d19b Co-authored-by: Sean Dewar <seandewar@users.noreply.github.com>
* vim-patch:9.1.0004: reloading colorscheme when not changing 'background' ↵zeertzjq2024-01-04
| | | | | | | | | | | | | | | | | | | | | | (#26877) Problem: reloading colorscheme when not changing 'background' Solution: Check, if the background option value actually changed, if not, return early. Only reload colorscheme when bg is changed Currently the highlight groups are re-initialized and the colorscheme (if any) is reloaded anytime 'background' is set, even if it is not changed. This is unnecessary, because if the value was not changed then there is no need to change highlight groups or do anything with the colorscheme. Instead, only reload the colorscheme if the value of 'background' was actually changed. closes: vim/vim#13700 https://github.com/vim/vim/commit/83ad2726ff56db70cb2da78e1e4ea0e09941c73b Co-authored-by: Gregory Anders <greg@gpanders.com>
* vim-patch:9.1.0002: a closing fold expr, may start a new fold (#26876)zeertzjq2024-01-04
| | | | | | | | | | | | | | | Problem: a closing fold expression may unexpectedly start a new fold when it should end a fold (reported by Shota Nozaki) Solution: if a fold hasn't started yet, do not immediately start a new fold with level 1 (Shota Nozaki) fixes: vim/vim#12768 closes: vim/vim#13748 https://github.com/vim/vim/commit/0689b870595c687a23e102913ce5037f65d03748 Co-authored-by: Shota Nozaki <emonkak@gmail.com>
* feat(lua): add noref to deepcopyLewis Russell2024-01-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Currently `deepcopy` hashes every single tables it copies so it can be reused. For tables of mostly unique items that are non recursive, this hashing is unnecessarily expensive Solution: Port the `noref` argument from Vimscripts `deepcopy()`. The below benchmark demonstrates the results for two extreme cases of tables of different sizes. One table that uses the same table lots of times and one with all unique tables. | test | `noref=false` (ms) | `noref=true` (ms) | | -------------------- | ------------------ | ----------------- | | unique tables (50) | 6.59 | 2.62 | | shared tables (50) | 3.24 | 6.40 | | unique tables (2000) | 23381.48 | 2884.53 | | shared tables (2000) | 3505.54 | 14038.80 | The results are basically the inverse of each other where `noref` is much more performance on tables with unique fields, and `not noref` is more performant on tables that reuse fields.
* Merge #26398 lintlua for test/ dirJustin M. Keyes2024-01-03
|\
| * refactor: format test/*Justin M. Keyes2024-01-03
| |
| * build: enable lintlua for test/ dirJustin M. Keyes2024-01-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Not all Lua code is checked by stylua. Automating code-style is an important mechanism for reducing time spent on accidental (non-essential) complexity. Solution: - Enable stylua for entire `test/` directory. - Exclude these high-churn files until this issue is resolved: https://github.com/JohnnyMorganz/StyLua/issues/829 ``` test/functional/ui/decorations_spec.lua | 3560 ++++++++++++++++++++++++++++++++++++---------------- test/functional/ui/float_spec.lua | 5826 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------- test/functional/ui/multigrid_spec.lua | 1349 ++++++++++++++------ ``` - Make surgical changes to these files (or add `stylua: ignore` in some small scopes) to improve the result: ``` test/functional/vimscript/msgpack_functions_spec.lua | 1414 +++++++++++++++------ test/functional/api/buffer_spec.lua | 1389 +++++++++++---------- test/functional/api/vim_spec.lua | 2740 +++++++++++++++++++++++----------------- ``` - These "high churn" files are NOT excluded because the changes are largely an improvement: ``` test/functional/plugin/lsp_spec.lua | 2198 ++++++++++++++++++--------------- test/functional/plugin/shada_spec.lua | 4078 +++++++++++++++++++++++++++++++++++------------------------- test/functional/ui/cmdline_spec.lua | 1199 +++++++++++------- test/functional/ui/popupmenu_spec.lua | 1267 +++++++++++-------- test/functional/ui/messages_spec.lua | 1643 +++++++++++++++--------- ``` - TODO: how to check "all directories"? With `GLOB_DIRS *` and `/.deps/` (or `.deps/`) in `.styluaignore`, Lua code in `.deps/` is still checked...
* | Merge pull request #26860 from sus-domesticus/fix/clangdzeertzjq2024-01-03
|\ \ | |/ |/| fix/clangd (check size of array before applying qsort on it; set block pointer to null in case map is empty)
| * fix(clangd): set block pointer to null in case map is emptysus-domesticus2024-01-03
| |
| * fix(clangd): check size of array before applying qsort on itsus-domesticus2024-01-02
| |
* | docs: small fixesdundargoc2024-01-02
| | | | | | | | | | | | Co-authored-by: Christian Clason <c.clason@uni-graz.at> Co-authored-by: HiPhish <hiphish@posteo.de> Co-authored-by: JD Rudie <rudiejd@miamioh.edu>
* | refactor: remove redundant struct namesdundargoc2024-01-02
| | | | | | | | A struct can be anonymous if only its typedef is used.
* | refactor(api): redundant `ml_mfp` check #26059Justin M. Keyes2024-01-02
|/ | | | | | | | | | | | buf_ensure_loaded already checks `(buf->b_ml.ml_mfp != NULL)`. #25823 TODO: - #10070 #13201 All buffer-related API functions except `nvim_buf_is_loaded` (and `nvim_buf_is_valid`?) should always call `buf_ensure_loaded`. Because the _common case_ is that plugins expect the buffer to "just work"—and for the uncomon, performance-sensitive case, the script can check `nvim_buf_is_loaded` to avoid implicitly loading a buffer. - Update documentation to clarify the above semantics.
* docs(lsp): add supports_method to vim.lsp.client docs (#26852)Mathias Fußenegger2024-01-02
|
* docs(glob): add glob module (#26853)Mathias Fußenegger2024-01-02
|
* vim-patch:10b4f75d4c03 (#26846)zeertzjq2024-01-02
| | | | | | | | | | | runtime(dist/ft): improve filetype detection for *.v (V/Verilog/Coq) Patch provided by Dan Alt closes: vim/vim#13793 https://github.com/vim/vim/commit/10b4f75d4c03c1cd4f579be5fdc812ba41b72fef Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:34d15155fc45Christian Clason2024-01-02
| | | | | | | | runtime(menu): regenerate synmenu https://github.com/vim/vim/commit/34d15155fc45162bc0036e97f9ddfc7b9b1630bd Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:b16fc9805535Christian Clason2024-01-02
| | | | | | | | | | runtime(sh): Update sh syntax and add local keyword for bash (vim/vim#13806) add `local` in shStatement https://github.com/vim/vim/commit/b16fc9805535dc6eb084142da0c87210fc102494 Co-authored-by: Lucien Grondin <grondilu@yahoo.fr>
* vim-patch:d08059ab48b8Christian Clason2024-01-02
| | | | | | | | runtime(ruby): Update ftplugin and omni-complete (vim/vim#13805) https://github.com/vim/vim/commit/d08059ab48b822a25060b8a486085371ddeebcf7 Co-authored-by: dkearns <dougkearns@gmail.com>
* fix(drawline): consider position in linebuf for foldcolumn (#26803)luukvbaal2024-01-02
|
* refactor(lsp): fix remaining luals warnings in lsp.rpcMathias Fussenegger2024-01-02
|
* feat(lsp): support connect via named pipes/unix domain sockets (#26032)TheLeoP2024-01-02
| | | | | Closes https://github.com/neovim/neovim/issues/26031 Co-authored-by: Mathias Fussenegger <f.mathias@zignar.net>
* feature(diagnostic): add `vim.diagnostic.count()` (#26807)Evgeni Chasnovski2024-01-01
| | | | | | | | | | | | | feat(diagnostic): add `vim.diagnostic.count()` Problem: Getting diagnostic count based on the output of `vim.diagnostic.get()` might become costly as number of diagnostic entries grows. This is because it returns a copy of diagnostic cache entries (so as to not allow users to change them in place). Getting information about diagnostic count is frequently used in statusline, so it is important to be as fast as reasonbly possible. Solution: Add `vim.diagnostic.count()` which computes severity counts without making copies.
* refactor(health): refactor provider healthchecksGregory Anders2024-01-01
| | | | | | * Prefer pure Lua functions over vim.fn * Split up provider healthchecks into separate modules to help manage complexity
* refactor: remove redundant NOLINT commentsdundargoc2024-01-01
|
* feat(treesitter): highlight Lua files by default (#26824)Christian Clason2024-01-01
|
* ci: write the correct cherry-picked commit id when backportingJongwook Choi2024-01-01
| | | | | | | | | | | | | Problem: Commits backport-merged to release branches are cherry-picked from the original commits in the PR from a fork repository, NOT the actual commit that are merged to neovim/neovim (HEAD). Therefore the commit reference in the commit message `cherry picked from commit ...` usually refers to a commit that does NOT exist in the repository, given that our preferred way of merging PR (rebasing, squashing, etc.) would rewrite commits. Solution: Turn on new feature 'detect_merge_method' of backport-action workflow.
* fix(l10n): update Ukrainian translations (#26819)Anatolii Sakhnik2024-01-01
|
* docs: clarify on_bytes argumentsJaehwang Jung2024-01-01
| | | | based on extmark_splice doc
* build: ensure `make clean` doesn't remove source filesdundargoc2024-01-01
| | | | | | | | | | | | Adding a file to `OUTPUT` in `add_custom_command` marks that file as `GENERATED` in cmake, and will thus be removed when running the `clean` target. As cmake doesn't have a good way to mark that certain files should not be removed, we instead "lie" to it by omitting the files we want to keep from `OUTPUT`. This hack only works as long as there aren't any other files that depend on the generated files we want to keep, which currently seems to be the case. If this assumption changes in the future, then we need to separate the parts that are generated and the parts that are not as to prevent an infinite dependency chain.
* fix(builtin): parameter mismatch between winsaveview and winrestviewaltermo2023-12-31
|
* refactor(tui): remove code that is no longer necessaryzeertzjq2023-12-31
|
* Handle mouse buttons 6/7 (often used for horizontal scrolling)Paul "LeoNerd" Evans2023-12-31
|
* Ignore key_mouse unless it is exactly \e[M because some terminfos relate to ↵Paul "LeoNerd" Evans2023-12-31
| | | | different encoding modes (thanks Ninji)
* test(functional): remove faulty pending checkChristian Clason2023-12-30
| | | | | | | | | Problem: `functional/vimscript/api_functions_spec` skips a test if the runtime files are not generated, but this check was broken in a refactor. Solution: Since runtime files are now generated for all test targets, do not skip this test.
* refactor: fix luals warningsdundargoc2023-12-30
|
* build: various improvementsdundargoc2023-12-30
| | | | | | | | | | - Use `#pragma once` for `cmake.config/config.h.in` - Remove unused variable `CACHED_GENERATED_DIR` - Reorganize and sort variables - Introduce `STYLUA_DIRS` variable to ensure the `formatlua` and `lintlua-stylua` operates on the same files. - Adjust variable scope to avoid using hacky directory properties. - Add more necessary runtime files as test dependencies
* refactor: follow style guidedundargoc2023-12-30
|
* vim-patch:d96f25bd69c1Christian Clason2023-12-30
| | | | | | | | | | | | | | | | | | | runtime(fortran): update syntax and documentation (vim/vim#13784) * Update Fortran section of indent.txt * Small addition to fortran syntax * Update Fortran section of syntax.txt * Runtime (Fortran) Fix regression * Combine two expressions https://github.com/vim/vim/commit/d96f25bd69c14bc257281a580f344240c72f4999 Co-authored-by: Ajit-Thakkar <142174202+Ajit-Thakkar@users.noreply.github.com>
* refactor(drawline): remove maybe_wlv argument for foldcolumn (#26798)luukvbaal2023-12-30
| | | | Problem: fill_foldcolumn() has an optional winlinevars_T argument. Solution: Increment wlv->off at callsite.
* Merge pull request #26758 from luukvbaal/drawlinebfredl2023-12-29
|\ | | | | refactor(drawline): avoid writing foldopen before writing foldclosed
| * refactor(drawline): avoid writing foldopen before writing foldclosedLuuk van Baal2023-12-29
| |
* | ci: add workflow_dispatch to optional.yml workflowdundargoc2023-12-29
|/ | | | This makes it convenient to test optional.yml on release branch.
* vim-patch:715a8058895fChristian Clason2023-12-29
| | | | | | | | runtime(cucumber): Updates to indent and syntax https://github.com/vim/vim/commit/715a8058895f5908f44ee243fdafa431b6483e47 Co-authored-by: Tim Pope <code@tpope.net>
* vim-patch:244f01658f9cChristian Clason2023-12-29
| | | | | | | | runtime(markdown): Fix folding of code blocks https://github.com/vim/vim/commit/244f01658f9c60c71a776a2162c28ea93e102f12 Co-authored-by: Tim Pope <code@tpope.net>
* vim-patch:a907c9199216Christian Clason2023-12-29
| | | | | | | | runtime(sass): Provide sass_recommended_style option https://github.com/vim/vim/commit/a907c91992167e41da41008d4370e434e324cbf2 Co-authored-by: Tim Pope <code@tpope.net>
* vim-patch:fda02d03c0cfChristian Clason2023-12-29
| | | | | | | | runtime(gitcommit): Updates to ftplugin and syntax https://github.com/vim/vim/commit/fda02d03c0cfe017e465c58b3baf8b3106287578 Co-authored-by: Tim Pope <code@tpope.net>
* vim-patch:757714c0cba7Christian Clason2023-12-29
| | | | | | | | runtime(git): Make diffs foldable https://github.com/vim/vim/commit/757714c0cba7772b987b2513559bcb74ce53ce3f Co-authored-by: Tim Pope <code@tpope.net>
* vim-patch:48ddc6a6f86fChristian Clason2023-12-29
| | | | | | | | runtime(git): Add small ftplugin https://github.com/vim/vim/commit/48ddc6a6f86f1f42bdb49d308d72c15b0e90ce5a Co-authored-by: Tim Pope <code@tpope.net>