| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(#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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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...
|
|\ \
| |/
|/| |
fix/clangd (check size of array before applying qsort on it; set block pointer to null in case map is empty)
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| | |
A struct can be anonymous if only its typedef is used.
|
|/
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
runtime(menu): regenerate synmenu
https://github.com/vim/vim/commit/34d15155fc45162bc0036e97f9ddfc7b9b1630bd
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
runtime(ruby): Update ftplugin and omni-complete (vim/vim#13805)
https://github.com/vim/vim/commit/d08059ab48b822a25060b8a486085371ddeebcf7
Co-authored-by: dkearns <dougkearns@gmail.com>
|
| |
|
| |
|
|
|
|
|
| |
Closes https://github.com/neovim/neovim/issues/26031
Co-authored-by: Mathias Fussenegger <f.mathias@zignar.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
* Prefer pure Lua functions over vim.fn
* Split up provider healthchecks into separate modules to help manage
complexity
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
based on extmark_splice doc
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
| |
different encoding modes (thanks Ninji)
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Problem: fill_foldcolumn() has an optional winlinevars_T argument.
Solution: Increment wlv->off at callsite.
|
|\
| |
| | |
refactor(drawline): avoid writing foldopen before writing foldclosed
|
| | |
|
|/
|
|
| |
This makes it convenient to test optional.yml on release branch.
|
|
|
|
|
|
|
|
| |
runtime(cucumber): Updates to indent and syntax
https://github.com/vim/vim/commit/715a8058895f5908f44ee243fdafa431b6483e47
Co-authored-by: Tim Pope <code@tpope.net>
|
|
|
|
|
|
|
|
| |
runtime(markdown): Fix folding of code blocks
https://github.com/vim/vim/commit/244f01658f9c60c71a776a2162c28ea93e102f12
Co-authored-by: Tim Pope <code@tpope.net>
|
|
|
|
|
|
|
|
| |
runtime(sass): Provide sass_recommended_style option
https://github.com/vim/vim/commit/a907c91992167e41da41008d4370e434e324cbf2
Co-authored-by: Tim Pope <code@tpope.net>
|
|
|
|
|
|
|
|
| |
runtime(gitcommit): Updates to ftplugin and syntax
https://github.com/vim/vim/commit/fda02d03c0cfe017e465c58b3baf8b3106287578
Co-authored-by: Tim Pope <code@tpope.net>
|
|
|
|
|
|
|
|
| |
runtime(git): Make diffs foldable
https://github.com/vim/vim/commit/757714c0cba7772b987b2513559bcb74ce53ce3f
Co-authored-by: Tim Pope <code@tpope.net>
|
|
|
|
|
|
|
|
| |
runtime(git): Add small ftplugin
https://github.com/vim/vim/commit/48ddc6a6f86f1f42bdb49d308d72c15b0e90ce5a
Co-authored-by: Tim Pope <code@tpope.net>
|