aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
| * | | | | | vim-patch:9.1.0010: Keymap completion is not available (#26888)zeertzjq2024-01-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Keymap completion is not available Solution: Add keymap completion (Doug Kearns) Add keymap completion to the 'keymap' option, user commands and builtin completion functions. closes: vim/vim#13692 https://github.com/vim/vim/commit/81642d9d6ff5cd6a90a012b1b98632ce51eeb1a8 Co-authored-by: Doug Kearns <dougkearns@gmail.com>
| * | | | | | refactor(column): define and use maximum 'statuscolumn' widthLuuk van Baal2024-01-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: The maximum 'statuscolumn' width and grow behavior is undocumented. Solution: Define, use and document the maximum 'statuscolumn' width and grow behavior.
| * | | | | | fix(decorations): incompletely displayed line should also get decorationsJaehwang Jung2024-01-04
| | | | | | |
| * | | | | | fix(decorations): validate botline for on_winJaehwang Jung2024-01-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Many decoration providers (treesitter injection highlighting, semantic token highlighting, inlay hint) rely on the correctness of the `botline` argument of `on_win` callback. However, `botline` can be smaller than the actual line number of the last displayed line if some lines are folded. In such cases, some decorations will be missing in the lines not covered by `botline`. Solution: Validate `botline` when invoking `on_win`. NOTE: It seems that the old code was deliberately avoiding this presumably due to performance reasons. However, I haven't experienced noticeable lag after this change, and I believe the cost of botline computation would be much smaller than the cost of decoration providers.
| * | | | | | 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.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>
| * | | | | | 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
| | | | | | | |
| * | | | | | | 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.
| * | | | | | fix(drawline): consider position in linebuf for foldcolumn (#26803)luukvbaal2024-01-02
| | | | | | |
| * | | | | | refactor: remove redundant NOLINT commentsdundargoc2024-01-01
| | | | | | |
| * | | | | | 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.
| * | | | | | 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)
| * | | | | | 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
| | | | | | |
| * | | | | | 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.
| * | | | | | refactor(drawline): avoid writing foldopen before writing foldclosedLuuk van Baal2023-12-29
| | | | | | |
| * | | | | | vim-patch:9.0.2189: Wrong display with 'briopt=sbr' and 'nobreakindent' (#26785)zeertzjq2023-12-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Wrong display when 'breakindentopt' contains "sbr" and 'showbreak' and 'nobreakindent' are set. Solution: Always reset wlv->need_showbreak regardless of the values of 'breakindent' and 'showbreak', as they aren't checked when setting wlv->need_showbreak (zeertzjq) closes: vim/vim#13785 https://github.com/vim/vim/commit/7e4f62a2575e8ce9ebb842d4246288138b11dff3
| * | | | | | fix(drawline): don't use temporary "v" variable when not needed (#26777)zeertzjq2023-12-28
| | | | | | |
| * | | | | | docs(eval): add parameter type for vim.fn.mode() (#26776)xvzc2023-12-28
| | | | | | |
| * | | | | | docs: small fixes (#26651)dundargoc2023-12-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Co-authored-by: Gregory Anders <greg@gpanders.com> Co-authored-by: WillLillis <wlillis@umass.edu>
| * | | | | | fix(clipboard): make getreg() accurate for clipboard registers (#26740)JD2023-12-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: getreg("*") / getreg("+") disagree with :registers. Solution: Avoid falling back to unnamed register if provider fails.
| * | | | | | vim-patch:9.0.2188: cursor wrong after { in single line buffer (#26766)zeertzjq2023-12-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: cursor wrong after { in single line buffer (Edwin Chan) Solution: do not place the cursor at the end for a single line buffer when moving backwards (Gary Johnson) closes: vim/vim#13780 closes: vim/vim#13783 https://github.com/vim/vim/commit/9e6549d2fb282c45a2492ea95fe7ba54c2082c3e Co-authored-by: Gary Johnson <garyjohn@spocom.com>
| * | | | | | vim-patch:9.0.2187: Visual not drawn with 'breakindent' when line doesn't ↵zeertzjq2023-12-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fit (#26765) Problem: Visual selection isn't drawn with 'breakindent' when the line doesn't fit in the window (Jaehwang Jung) Solution: Adjust wlv->fromcol also for 'breakindent' (zeertzjq) closes: vim/vim#13767 closes: vim/vim#13768 https://github.com/vim/vim/commit/23627722d36b49e38ba6f8dc6bb3ebe19c98a83b
| * | | | | | refactor: remove unnecessary HAVE_PATHDEF macrodundargoc2023-12-27
| | | | | | |
| * | | | | | fix(inccommand): don't preview in Ex mode (#26587)Raphael2023-12-27
| | | | | | |
| * | | | | | ci: disable libintl on mac releasedundargoc2023-12-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The releases doesn't work on intel mac as libintl isn't available on the system by default. This makes `:language` not work for the shipped macos releases, though the reduction in build system complexity most likely outweighs that.
| * | | | | | fix(column): correct width after truncated 'statuscolumn' error (#26737)luukvbaal2023-12-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Default number column has incorrect width after 'statuscolumn' is unset due to an error, but was also truncated. Solution: Reverse 'statuscolumn' error and truncate return branches.
| * | | | | | feat(extmarks): add virt_text_repeat_linebreak flag (#26625)luukvbaal2023-12-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Unable to predict which byte-offset to place virtual text to make it repeat visually in the wrapped part of a line. Solution: Add a flag to nvim_buf_set_extmark() that causes virtual text to repeat in wrapped lines.
| * | | | | | refactor(cpoptions): remove 'p'bfredl2023-12-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Deleting a cpo flag a day keeps the doctor away We don't need two different ways to indent LISP code
| * | | | | | refactor(drawline): reduce size of wlv.extra[] (#26733)zeertzjq2023-12-25
| | | | | | | | | | | | | | | | | | | | | It's now only used for transchar_hex(), which only needs 11 bytes.
| * | | | | | feat(health): make :checkhealth support more split modifiers (#26731)zeertzjq2023-12-25
| | | | | | |
| * | | | | | feat(health): checkhealth buffer can show in a split window (#26714)Pablo Arias2023-12-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | :checkhealth now respects :vertical and :horizontal. For example: :vertical checkhealth foo bar will open the healthcheck buffer in a vertical split.
| * | | | | | build: remove clint checks and style text covered by uncrustifydundargoc2023-12-24
| | | | | | |
| * | | | | | refactor: follow style guidedundargoc2023-12-24
| | | | | | |
| * | | | | | Merge pull request #26642 from famiu/refactor/options/misczeertzjq2023-12-24
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | refactor(options): miscellanous refactors
| | * | | | | | refactor(options): do bound checking in `validate_num_option()`Famiu Haque2023-12-24
| | | | | | | |
| | * | | | | | refactor(options): remove side effects from `check_num_option_bounds()`Famiu Haque2023-12-24
| | | | | | | |
| | * | | | | | refactor(options): use `OptIndex` for `os_idx`Famiu Haque2023-12-23
| | | | | | | |
| | * | | | | | refactor(options): move some functions from options.c to option.cFamiu Haque2023-12-23
| | | | | | | |
| | * | | | | | refactor(options): restructure functions related to key optionsFamiu Haque2023-12-23
| | | | | | | |
| * | | | | | | refactor: remove os_errmsg and os_msg functionsdundargoc2023-12-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead replace them with fprintf and printf.
| * | | | | | | refactor: remove CPO_TO_CPO_FLAGS() (#26718)zeertzjq2023-12-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Just pass p_cpo to replace_termcodes() directly. This allows removing option_vars.h from keycodes.h, and also avoids the mistake of passing 0 as cpo_flags.
| * | | | | | | fix(mappings): fix mapset() not replacing map with backslash (#26719)zeertzjq2023-12-23
| |/ / / / / /