| Commit message (Collapse) | Author | Age |
... | |
|/ /
| |
| |
| |
| |
| | |
Problem: Crash when adding package already in 'runtimepath'.
Solution: Change order for using 'runtimepath' entries. (closes vim/vim#12215)
https://github.com/vim/vim/commit/39c9ec16ea7ef13c5d783481542ee9aa6c05282c
|
| |
| |
| |
| |
| | |
Problem: No way to get the actual highlight attributes for a linked
group through |nvim_get_hl()| (not the attributes from the link target).
Solution: Return the actual attributes as well as the link target name.
|
| |
| |
| |
| |
| |
| | |
The LSP spec supports two tags that can be added to diagnostics:
unnecessary and deprecated. Extend vim.diagnostic to be able to handle
these.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Livebook files are not recognized.
Solution: Add a pattern for Livebook files. (Mathias Jean Johansen,
closes vim/vim#12203)
https://github.com/vim/vim/commit/64002035178ac3e0d9ab7269d1bf06c6ede5a854
Co-authored-by: Mathias Jean Johansen <mathias@mjj.io>
|
|/
|
|
|
|
|
|
|
|
| |
fix(api): use local LastSet structure in nvim_get_option_info
* nvim_get_option_info is deprecated.
It is always using the global LastSet information as reported in #15232.
* nvim_get_option_info2 is added.
The new function additionally accepts an 'opts' table {scope, buf, win}
allowing to specify the option scope and query local options from another
buffer or window.
|
| |
|
|
|
|
|
|
|
| |
Problem:
Using `meths.exec2("code", { output = true })` is too verbose.
Solution:
Use exec_capture() in more places.
|
|
|
|
|
|
|
|
|
| |
Problem: Cursor in wrong position when leaving insert mode.
Solution: Update the w_valid flags. Position the cursor also when not
redrawing. (closes vim/vim#12137)
https://github.com/vim/vim/commit/c174c2e58c9e24a75b189e01143e6d057b84e96e
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
|\
| |
| | |
fix(api): make nvim_get_hl return 'cterm' attrs properly
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Problem:
The signature of nvim_exec() is not extensible per ":help api-contract".
Solution:
Introduce nvim_exec2() and deprecate nvim_exec().
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem:
LSP docs hover (textDocument/hover) doesn't handle HTML escape seqs in markdown.
Solution:
Convert common HTML escape seqs to a nicer form, to display in the float.
closees #22757
Signed-off-by: Kasama <robertoaall@gmail.com>
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Indent wrong after "export namespace" in C++.
Solution: Skip over "inline" and "export" in any order. (Virginia Senioria,
closes vim/vim#12134, closes vim/vim#12133)
https://github.com/vim/vim/commit/99e4ab2a1e577ddb29030c09c308b67e16fd51c4
Co-authored-by: Virginia Senioria <91khr@users.noreply.github.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The following top level Treesitter functions have been moved:
- vim.treesitter.inspect_language() -> vim.treesitter.language.inspect()
- vim.treesitter.get_query_files() -> vim.treesitter.query.get_files()
- vim.treesitter.set_query() -> vim.treesitter.query.set()
- vim.treesitter.query.set_query() -> vim.treesitter.query.set()
- vim.treesitter.get_query() -> vim.treesitter.query.get()
- vim.treesitter.query.get_query() -> vim.treesitter.query.get()
- vim.treesitter.parse_query() -> vim.treesitter.query.parse()
- vim.treesitter.query.parse_query() -> vim.treesitter.query.parse()
- vim.treesitter.add_predicate() -> vim.treesitter.query.add_predicate()
- vim.treesitter.add_directive() -> vim.treesitter.query.add_directive()
- vim.treesitter.list_predicates() -> vim.treesitter.query.list_predicates()
- vim.treesitter.list_directives() -> vim.treesitter.query.list_directives()
- vim.treesitter.query.get_range() -> vim.treesitter.get_range()
- vim.treesitter.query.get_node_text() -> vim.treesitter.get_node_text()
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: "wat" and "wast" files are one filetype.
Solution: Add a separate filetype for "wat" files. (Amaan Qureshi,
closes vim/vim#12165)
https://github.com/vim/vim/commit/3ea62381c527395ae701715335776f427d22eb7b
Co-authored-by: Amaan Qureshi <amaanq12@gmail.com>
|
|/
|
|
|
| |
Makes `extern` variables accessible through ffi on Windows.
Follow-up to https://github.com/neovim/neovim/pull/15999
|
|
|
|
|
| |
Problem: no way of getting all highlight group definitions in a namespace.
Solution: add `nvim_get_hl()`, deprecate `nvim_get_hl_by_name()` and `nvim_get_hl_by_id()`.
|
|
|
|
| |
string.gmatch() is superior, use that instead.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
semver specifies that digit sequences in a prerelease string should be
compared as numbers, not lexically: https://semver.org/#spec-item-11
> Precedence for two pre-release versions with the same major, minor,
> and patch version MUST be determined by comparing each dot separated
> identifier from left to right until a difference is found as follows:
> 1. Identifiers consisting of only digits are compared numerically.
> 2. Identifiers with letters or hyphens are compared lexically in ASCII sort order.
> 3. Numeric identifiers always have lower precedence than non-numeric identifiers.
> 4. A larger set of pre-release fields has a higher precedence than a smaller set, if all of the preceding identifiers are equal.
Example:
1.0.0-alpha < 1.0.0-alpha.1 < 1.0.0-alpha.beta < 1.0.0-beta < 1.0.0-beta.2 < 1.0.0-beta.11 < 1.0.0-rc.1 < 1.0.0.
Solution:
cmp_prerel() treats all digit sequences in a prerelease string as
numbers. This doesn't _exactly_ match the spec, which specifies that
only dot-delimited digit sequences should be treated as numbers...
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
- vim.split has more features than vim.gsplit.
- Cannot inspect the "separator" segments of vim.split or vim.gsplit.
Solution:
- Move common implementation from vim.split into vim.gsplit.
- TODO: deprecate vim.split in favor of vim.totable(vim.gsplit())?
- Introduce `keepsep` parameter.
Related: 84f66909e4008a57da947f1640bfc24da5e41a72
|
|\
| |
| | |
feat(lua): allow `:=expr` as a shorter version of `:lua =expr`
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
existing behavior of
:=
and
:[range]=
are unchanged. `|` is still allowed with this usage.
However,
:=p
and similar are changed in a way which could be construed as a breaking
change. Allowing |ex-flags| for := in the first place was a mistake as
any form of := DOES NOT MOVE THE CURSOR. So it would print one line number
and then print a completely different line contents after that.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
vim-patch:9.0.1419: Lean files are not recognized
Problem: Lean files are not recognized.
Solution: Add a pattern for Lean files. (Amaan Qureshi, closes vim/vim#12177)
https://github.com/vim/vim/commit/4a5c39fc52a73d46ac77cf574f765a465befc3c0
vim-patch:9.0.1421: Nu files are not recognized
Problem: Nu files are not recognized.
Solution: Add a pattern for Nu files. (Amaan Qureshi, closes vim/vim#12172)
https://github.com/vim/vim/commit/8aa2a37f8983a7863afa32d9ffbe64b2f2bc70be
vim-patch:9.0.1422: Sage files are not recognized
Problem: Sage files are not recognized.
Solution: Add a pattern for Sage files. (Amaan Qureshi, closes vim/vim#12176)
https://github.com/vim/vim/commit/d0639d717ba7cf8b04b588aadd0b379ed43a5f1f
vim-patch:9.0.1423: WebAssembly Interface Type files are not recognized
Problem: WebAssembly Interface Type files are not recognized.
Solution: Add a pattern for WIT files. (Amaan Qureshi, closes vim/vim#12173)
https://github.com/vim/vim/commit/890c77203637626b1005db818667084d11e653e7
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: ESDL files are not recognized.
Solution: Add a pattern for ESDL files. (Amaan Qureshi, closes vim/vim#12174)
https://github.com/vim/vim/commit/a1fa8b3ac2f7b54c7901ad3eb0ba8b8290912509
Co-authored-by: Amaan Qureshi <amaanq12@gmail.com>
|
|/
|
|
|
|
|
|
|
| |
Problem: Crystal files are not recognized.
Solution: Add a pattern for Crystal files. (Amaan Qureshi, closes vim/vim#12175)
https://github.com/vim/vim/commit/7c4516fe93d865f4ef1877181f8156b8b9331856
Co-authored-by: Amaan Qureshi <amaanq12@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
"tmux 3.2a" (output from "tmux -V") is not parsed easily.
Solution:
With `strict=false`, discard everything before the first digit.
- rename Semver => Version
- rename vim.version.version() => vim.version._version()
- rename matches() => has()
- remove `opts` from cmp()
|
|
|
|
|
| |
Now the Nvim version string "v0.9.0-dev-1233+g210120dde81e" parses
correctly.
|
|
|
|
|
|
|
| |
Use semver code from https://github.com/folke/lazy.nvim
License: Apache License 2.0
Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
On Windows, :make does not display the output of the program it runs.
The cause is the default 'shellpipe'. On Linux, nvim uses `tee` to redirect the
output to both stdout and the error file. In Windows, for both cmd.exe and
powershell, the output is only redirected to the error file.
Solution:
- On Windows, change the 'shellpipe' default to "2>&1| tee".
- Nvim includes `tee` in its Windows package.
- Document recommended defaults for powershell.
Fixes #12910
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
On Windows, pasting multiple lines on a terminal buffer cause all the
lines to appear on the same line, i.e., the line breaks are lost.
Cause:
Windows shells expect "\r\n" as line break but "terminal_paste" function
uses "\n".
Solution:
Use "\r\n" as line break for pasting in terminal buffer on Windows.
Note:
Although this issue was reported with powershell set as 'shell', it
occurs in cmd too.
Fixes #14621
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Clamp for height in floating windows enforced no more than
editor height - 1, disallowing full editor height floating windows when
using cmdheight=0
Solution: Clamp to full height, removing the -1. Tested to give the
intended results with cmdheight=0, 1, or more than 1. This also
inadvertently fixes a rendering error with cmdheight >1 where the
bottom border would be overlapped by the cmdline.
|
|
|
|
|
|
|
|
|
|
|
| |
* fix(column): rebuild status column when sign column is invalidated
Problem: When implementing a custom sign column through
`'statuscolumn'`, the status column is not properly rebuilt
when the sign column width changes.
Solution: Force a rebuild of the status column when the sign column
width is invalidated.
* test(column): 'statuscolumn' has correct width when (un)placing signs
|
|
|
| |
It is no longer needed after #22706.
|
|
|
|
|
|
| |
Problem: Pony files are not recognized.
Solution: Add a pattern for Pony files. (Amaan Qureshi, closes vim/vim#12155)
https://github.com/vim/vim/commit/6e377eca8de4c0c0d25808beb7de7676194ebf1d
|
|
|
|
| |
Problem: Warning in Visual highlight test.
Solution: Don't move cursor back and forth.
|
|
|
| |
Using regexp doesn't work here because there are no wildcards.
|
|
|
|
|
|
|
|
|
|
|
| |
prop (#22706)
Problem: Cursor displayed in wrong position after removing text prop. (Ben
Jackson)
Solution: Invalidate the cursor position. (closes vim/vim#10898)
https://github.com/vim/vim/commit/326c5d36e7cb8526330565109c17b4a13ff790ae
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
|
|
|
|
|
|
|
|
|
| |
Problem: Racket files are recognized as scheme.
Solution: Recognize rackets files separately. (Gabriel Kakizaki,
closes vim/vim#12164, closes vim/vim#12162)
https://github.com/vim/vim/commit/d11ac403db07b6eac43882485e98caeb5e83e2e5
Co-authored-by: Gabriel Kakizaki <gkakizaki@gmail.com>
|
|
|
|
|
|
|
|
|
| |
Problem: QMLdir files are not recognized.
Solution: Add a pattern for QMLdir files. (Amaan Qureshi, closes vim/vim#12161)
https://github.com/vim/vim/commit/1505bef5c482a48e704644e6172be91c07ef1d12
Co-authored-by: Amaan Qureshi <amaanq12@gmail.com>
|
|
|
|
|
|
|
|
|
| |
Problem: TableGen files are not recognized.
Solution: Add a pattern for TableGen files. (Amaan Qureshi, closes vim/vim#12156)
https://github.com/vim/vim/commit/b8ef029ee416fc2b402c3f321a55c9049b0ad2a9
Co-authored-by: Amaan Qureshi <amaanq12@gmail.com>
|
|
|
|
|
|
|
|
|
| |
Problem: ILE RPG files are not recognized.
Solution: Add patterns for ILE RPG files. (Andreas Louv, issue vim/vim#12152)
https://github.com/vim/vim/commit/e202ec8a0c89e8ef47a3d38e668b7326fa68510a
Co-authored-by: Andreas Louv <andreas@louv.dk>
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
vim.deprecate() shows ":help deprecated" for third-party plugins. ":help
deprecated" only describes deprecations in Nvim, and is unrelated to any
3rd party deprecations.
Solution:
If `plugin` is specified, don't show ":help deprecated".
fix #22235
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
The functional tests have `is_os(s)` to determine if the current os is.
E.g. `is_os("win")` returns true if the current os is Windows. This is
done by checking if the sysname as detected by luv contains the
substring 'windows'. In MSYS shells, the sysname is looks like
MINGWXX_NT, where XX is either 32 or 64. So if you're using busted or
luv that you built separately, not the nvim-bundled versions, then
`is_os(s)` won't work.
Solution:
Treat sysname containing "mingw" as Windows.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
When LSP client renames a directory, opened buffers in the edfitor are not
renamed or closed. Then `:wall` shows errors.
https://github.com/neovim/neovim/blob/master/runtime/lua/vim/lsp/util.lua#L776
works correctly if you try to rename a single file, but doesn't delete old
buffers with `old_fname` is a dir.
Solution:
Update the logic in runtime/lua/vim/lsp/util.lua:rename()
Fixes #22617
|
|
|
|
|
|
|
|
| |
Problem
Using wrong variable when checking the cursor position is valid or not in
vim.lsp.util.apply_text_edits.
Solution
Use the correct variable.
|
|\
| |
| | |
fix(screen): redraw the ruler for a current floating window
|
| |
| |
| |
| |
| |
| |
| | |
Semi-regression. The "ruler" behavior for a floating window
was never really specified but in practice followed the users
cursor movements in normal mode in a focused float, which seems
like a reasonable behavior to now specify.
|
|/
|
|
|
|
|
|
|
|
| |
The builtin cat was removed in 4bc9229ecbec514e9a87cfc4be88ea27a971e9a1
as it is not used during runtime but only for tests. However, it is a
very small and useful utility program that we need for a lot of our
tests, so there's no harm in bundling it, and it helps us avoid
complicating our build system by having two versions of neovim (neovim
for users and neovim for testing).
Also skip tests if "grep" or "sleep" isn't available.
|