aboutsummaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAge
* 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
* 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
* docs: convert BACKERS.md to backers.txtdundargoc2023-12-28
| | | | | | There is no reason for this file to be in project root, which is crowded as is. This also fits nicely part of the ongoing work towards gathering as much of the documentation as possible into one place.
* fix(drawline): don't use temporary "v" variable when not needed (#26777)zeertzjq2023-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
* fix(inccommand): don't preview in Ex mode (#26587)Raphael2023-12-27
|
* feat(defaults): map Q and @x to repeat in Visual mode (#26495)Nacho Nieva2023-12-27
|
* test: simplify vim.fs testsdundargoc2023-12-26
| | | | The exec_lua wrapper is no longer necessary.
* 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.
* feat(vim.deprecate): only issue warning if neovim version is high enoughdundargoc2023-12-25
| | | | | | | | | | | | As specified by MAINTAIN.md, features should be soft deprecated at first (meaning no warnings) to give people a chance to adjust. The problem with this approach is that deprecating a feature becomes harder than usual as during the soft deprecation period you need to remember not to issue a warning, and during the hard deprecation period you need to remember to start issuing a warning. This behavior is only enforced if the `plugin` parameter is `nil` as plugins may not want this specific behavior.
* 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.
* test(extmarks): improve tests for ui_watched (#26732)zeertzjq2023-12-25
|
* 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.
* fix(treesitter): outdated highlight due to tree with outdated regionJaehwang Jung2023-12-24
| | | | | | | | | | | | | Problem: A region managed by an injected parser may shrink after re-running the injection query. If the updated region goes out of the range to be parsed, then the corresponding tree will remain outdated, possibly retaining the nodes that shouldn't exist anymore. This results in outdated highlights. Solution: Re-parse an invalid tree if its region intersects the range to be parsed.
* Merge pull request #26642 from famiu/refactor/options/misczeertzjq2023-12-24
|\ | | | | refactor(options): miscellanous refactors
| * refactor(options): remove side effects from `check_num_option_bounds()`Famiu Haque2023-12-24
| |
* | fix(mappings): fix mapset() not replacing map with backslash (#26719)zeertzjq2023-12-23
|/
* fix(decor): allow adding providers during redrawLewis Russell2023-12-22
| | | | Fixes: #26652
* fix(lsp): filetype matching to documentSelector in dynamic capabilities (#25425)Michal Liszcz2023-12-22
| | | | | | | Use the get_language_id client option to resolve the filetype when matching the document selector in a dynamic capability. Co-authored-by: Mathias Fussenegger <f.mathias@zignar.net>
* Merge pull request #26528 from bfredl/nodrawstatebfredl2023-12-22
|\ | | | | refactor(drawline): remove LineDrawState and wlv->saved_n_extra
| * refactor(drawline): remove LineDrawState and wlv->saved_n_extrabfredl2023-12-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We do not need an enum to keep track of what place in win_line() we currently are at. We already have a variable which keeps track where in the code we currently are (and thus what part of the line we are currently rendering), it is called the _program counter_. When we need non-linear or self-referential control-flow anyway for a laugh, we have a mechanism for that, it is called _function calls_. Do not "save" and "restore" the wlv->n_extra state every time the columns are to be drawn. This sort of thing needs to go away. Instead of setting the n_extra variables and then going to the outer while loop, the text in the columns can be rendered by just simply putting the text into the cells of the screen line, right away. Even in nvim this can be tricky sometimes, luckily we can use function calls to abstract this logic, which means that this handy data structure called the _call stack_ is handling saving away state temporarily, and restoring it back when we need it again. Lastly, but not least, as we now have direct control how signs are rendered, these can be stored as schar_T[2] and be directly put on screen as such.
* | refactor(lsp): move glob parsing to util (#26519)Steven Arcangeli2023-12-22
| | | | | | | | | | | | | | | | refactor(lsp): move glob parsing to vim.glob Moving the logic for using vim.lpeg to create a match pattern from a glob into `vim.glob`. There are several places in the LSP spec that use globs, and it's very useful to have glob matching as a generally-available utility.
* | fix(column): avoid exceeding configured 'signcolumn' widthLuuk van Baal2023-12-21
|/
* refactor(runtime): rewrite 'vim' color scheme in LuaEvgeni Chasnovski2023-12-21
| | | | | | | | | | Problem: Bundled 'vim' color scheme is written in Vimscript which implicitly assumes that the file is ported from Vim. This is not the case, at it is currently the Neovim's way of providing backward compatibility for color schemes. Solution: Rewrite it in Lua to indicate that this runtime file comes from Neovim.
* vim-patch:9.0.2179: no filetype detection for execline scriptsChristian Clason2023-12-19
| | | | | | | | | | | | | | | | | Problem: no filetype detection for execline scripts Solution: Add filetype detection for execline as a prior to adding syntax support for execline (see https://github.com/djpohly/vim-execline/issues/2), i went ahead and made the filetype detection for execline scripts. closes: vim/vim#13689 Signed-Off-By: Mazunki Hoksaas <rolferen@gmail.com> https://github.com/vim/vim/commit/63210c214afa6589b6132bd060908a8711f4567f Co-authored-by: Mazunki Hoksaas <rolferen@gmail.com>
* vim-patch:9.0.2177: Wrong cursor position when dragging out of window (#26661)zeertzjq2023-12-20
| | | | | | | | Problem: Wrong cursor position when dragging out of window. Solution: Don't use ScreenCols[] when mouse is not in current window. closes: vim/vim#13717 https://github.com/vim/vim/commit/ec14924368e23f2430815c009bd554f88de9c57f
* vim-patch:9.0.2178: reg_executing() wrong for :normal with range (#26660)zeertzjq2023-12-20
| | | | | | | | | Problem: reg_executing() returns wrong result in :normal with range when 'showcmd' is set (after 8.2.4705). Solution: Reset "pending_end_reg_executing" when executing a register. closes: vim/vim#13707 https://github.com/vim/vim/commit/615202bd0ebc1d8e3532f24b9b7232c2fd86b181
* test: "diff" flag of 'fillchars' (#26657)zeertzjq2023-12-19
|
* test: sign on wrapped line with signcolumn=number (#26654)zeertzjq2023-12-19
|
* refactor: use `bool` to represent boolean valuesdundargoc2023-12-19
|
* docs: small fixes (#26448)dundargoc2023-12-19
| | | | Co-authored-by: Gregory Anders <8965202+gpanders@users.noreply.github.com> Co-authored-by: Jordan Mandel <jordan.mandel@live.com>
* fix(api): don't set coladd of mark (#26648)zeertzjq2023-12-19
|
* feat(api): add forward and back mouse buttonsAmanda Graven2023-12-18
|
* refactor: soft-deprecate diagnostic signs configured with :sign-define (#26618)Gregory Anders2023-12-18
| | | | | Diagnostic signs should now be configured with vim.diagnostic.config(), but "legacy" sign definitions should go through the standard deprecation process to minimize the impact from breaking changes.
* fix(lua): handle array with holes in luaeval() (#26630)zeertzjq2023-12-18
|
* fix(options): setting 'scroll' with resized grid (#26628)zeertzjq2023-12-18
|
* test(core/job_spec): fix flakiness (#26623)zeertzjq2023-12-18
|
* build: cmake fixesdundargoc2023-12-16
| | | | | | | | | | | | | | - add EXTERNALPROJECT_OPTIONS variable to main build - use `REQUIRED` keyword for IWYU. - remove check_c_compiler_flag checks when `ENABLE_COMPILER_SUGGESTIONS` is `ON`. If we explicitly enable it then we probably want it to give an error if it doesn't exist, rather than silently skip it. - Move dependency interface libraries to their find module and use them as a pseudo-imported target. - Remove BUSTED_OUTPUT_TYPE. It's not used and we can reintroduce it again if something similar is needed. - Use LINK_OPTIONS intead of LINK_FLAGS when generating the `--version` output.
* fix(api): crash after nvim_win_set_config title/footer validation error (#26606)notomo2023-12-16
|
* feat(highlight): tweak default color schemeEvgeni Chasnovski2023-12-16
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Updating default color scheme produced some feedback. Solution: Address the feedback. Outline of the changes: - Colors `Grey1` and `Grey2` are made a little bit more extreme (dark - darker, light - lighter) to increase overall contrast. - `gui` colors are treated as base with `cterm` colors falling back to using 0-15 colors which come from terminal emulator. - Update highlight group definition to not include attribute definition if it is intended to staty uncolored. - Tweak some specific highlight groups. - Add a list of Neovim specific highlight groups which are now defined differently in a breaking way. - Minor tweaks in several other places related to default color scheme.