| Commit message (Collapse) | Author | Age |
... | |
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Follow up to https://github.com/neovim/neovim/pull/32072
If there is no prefix (e.g. at the start of word boundary or a line), it
always used the `filterText` because the `match` function always
returned false.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Not able to open document symbols for different buffers
Solution: Use the location list as default.
To switch back to previous behavior (qflist):
vim.lsp.buf.document_symbol({ loclist = false })
Fixes: #31832
|
| | | |
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
matching (#32100)
- Match is? and isnot? operators.
- Limit other comparison operators to one match modifier rather than
two.
closes: vim/vim#16482
https://github.com/vim/vim/commit/8dec6c2e6c2b5157334398e2e6ab7daa91999d80
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Making this opt-out (on by default) was the wrong choice from the
beginning. It is too visually noisy to be enabled by default.
BREAKING CHANGE: Users must opt-in to the diagnostic virtual text
handler by adding
vim.diagnostic.config({ virtual_text = true })
to their config.
|
| |
| |
| |
| |
| |
| |
| |
| | |
closes: vim/vim#16471
https://github.com/vim/vim/commit/e06405181a6189aa56e917c1a7e5090a33b07a8a
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- remove duplicated keywords
- add bash coproc and COPROC_PID keywords
https://github.com/vim/vim/commit/54cb514c9a8320d77650a63f0f7405aa8cc5b0d7
Co-authored-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Dr. Chip retired some time ago and is no longer maintaining the netrw
plugin. However as a runtime plugin distributed by Vim, it important to
maintain the netrw plugin in the future and fix bugs as they are
reported.
So, split out the netrw plugin as an additional package, however include
some stubs to make sure the plugin is still loaded by default and the
documentation is accessible as well.
closes: vim/vim#16368
https://github.com/vim/vim/commit/9cfdabb074feefc9848e9f7a4538f201e28c7f06
Co-authored-by: Luca Saccarola <github.e41mv@aleeas.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- highlight more C keywords, including some from C23
Conditionally highlight C23 features:
- #embed, #elifdef and #elifndef preprocessor directives
- predefined macros
- UTF-8 character constants
- binary integer constants, _BitInt literals, and digit separators
- nullptr_t type and associated constant
- decimal real floating-point, bit precise and char types
- typeof operators
Matchit:
- update for new preprocessor directives
fixes: vim/vim#13667
fixes: vim/vim#13679
closes: vim/vim#12984
https://github.com/vim/vim/commit/c2a967a1b9adca6c929e3dc5c218dfada00059b6
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
Co-authored-by: Albin Ahlbäck <albin.ahlback@gmail.com>
|
| |
| |
| | |
Ref: 09e01437c968be4c6e9f6bb3ac8811108c58008c
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem:
With language servers like lemminx, completing xml tags like `<mo` first
shows the right candidates (`modules`) but after typing `d` the
candidates disappear.
This is because the server returns:
[...]
filterText = "<module",
label = "module",
textEdit = {
newText = "<module>$1</module>$0",
Which resulted in `module` being used as `word`, and `module` doesn't
match the prefix `<mo`. Typing `d` causes the `complete()` filtering
mechanism to kick in and remove the entry.
Solution:
Use `<module` from the `filterText` as `word` if the textEdit/label
heuristic doesn't match.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: swc configuration files are not recognized
Solution: detect .swcrc files as json filetype (Marces Engel)
References:
https://swc.rs/docs/configuration/swcrc
closes: vim/vim#16462
https://github.com/vim/vim/commit/3a738fccaaf6737c91641856ea00579dbe68bd4e
Co-authored-by: Marces Engel <marces@facemurphy.com>
|
|
|
|
| |
Ref https://github.com/neovim/neovim/discussions/32015
|
|
|
|
|
|
|
| |
fixes: vim/vim#16455
https://github.com/vim/vim/commit/a234a46651ef174549792bd64d4bef64a32072bb
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(#32056)
Problem: no way to get current selected item in a async context
Solution: add completed flag to show the entries of currently selected
index item (glepnir)
closes: vim/vim#16451
https://github.com/vim/vim/commit/037b028a2219d09bc97be04b300b2c0490c4268d
Co-authored-by: glepnir <glephunter@gmail.com>
|
|\
| |
| | |
feat(terminal): add support for kitty keyboard protocol
|
| |
| |
| |
| |
| |
| | |
This commit adds basic support for the kitty keyboard protocol to
Neovim's builtin terminal. For now only the first mode ("Disambiguate
escape codes") is supported.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* refactor(options): generic expand and did_set callbacks
Problem:
Many options have similar callbacks to check the values are valid.
Solution:
Generalize these callbacks into a single function that reads the option
table.
* refactor: gen_options.lua
refactor: gen_options.lua - inline get_cond
* refactor(options): use a simpler format for the common default
|
|/
|
|
|
|
|
|
|
|
| |
Problem: filetype: fd ignore files are not recognized
Solution: detect .fdignore files as gitignore filetype
closes: vim/vim#16444
https://github.com/vim/vim/commit/3058087f6f04be788118e94e942e0f0c9fca25f0
Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
|
|
|
|
|
|
|
|
| |
Problem:
`yx` uses "y" prefix, which shadows a builtin operator.
Solution:
Use `g=` (in the form of `g==` currently), drawing from precedent of
CTRL-= and 'tpope/vim-scriptease'.
|
|\ |
|
| |
| |
| |
| | |
Also print stderr error messages with ErrorMsg highlight group.
|
|\ \ |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem:
Per the documentation, passing `false` as the `enable` parameter of
`vim.lsp.enable()` should disable the given LSP(s), but it does not work
due to a logic error.
Specifically, `enable == false and nil or {}` will always evaluate to
`{}` because `nil` is falsy.
Solution:
Correct the conditional statement.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
colorscheme
- new unokai colorscheme (similar/inspired by monokai)
- the rest: add explicit PopupSelected link to PmenuSel
closes: vim/vim#16443
https://github.com/vim/vim/commit/045564d0a73218594691953c0c8bf2035e1e176e
Co-authored-by: Maxim Kim <habamax@gmail.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem:
vim.fs.dir(), vim.fs.find() do not follow symlinks.
Solution:
- Add "follow" flag.
- Enable it by default.
|
| | |
| | |
| | |
| | |
| | |
| | | |
When `root_dir` is a function it can (and often will) call the provided
callback function in a fast API context (e.g. in the `on_exit` handler
of `vim.system`). When the callback function is executed we should
ensure that it runs vim.lsp.start on the main event loop.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Anchoring a floating window to the tabline and laststatus is
cumbersome; requiring autocommands and looping over all
windows/tabpages.
Solution: Add new "tabline" and "laststatus" options to the `relative`
field of nvim_open_win() to place a window relative to.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The following tool creates LRC files using three fractional digits after
the seconds (i.e. milliseconds).
References:
https://github.com/magic-akari/lrc-maker
https://lrc-maker.github.io/
closes: vim/vim#16436
https://github.com/vim/vim/commit/30377e0fe084496911e108cbb33c84cf075e6e33
Co-authored-by: Denilson Sá Maia <denilsonsa@gmail.com>
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: filetype: VisualCode setting file not recognized
Solution: detect json files in VSCode config directory as jsonc filetype
(Konfekt)
closes: vim/vim#16400
https://github.com/vim/vim/commit/c200f53cbb03fa11e489a27791d5b9dfc34a6564
Co-authored-by: Konfekt <Konfekt@users.noreply.github.com>
|
|/
|
|
|
|
|
|
|
| |
**Problem:** The treesitter `foldexpr` runs synchronous parses to
calculate fold levels, which eliminates async parsing performance in the
highlighter.
**Solution:** Migrate the `foldexpr` to also calculate and apply fold
levels asynchronously.
|
|
|
|
|
|
|
|
|
| |
Problem:
The floating window for hover and signature help always cuts off a few lines,
because the `_make_floating_popup_size` function counts empty lines as having
zero height.
Solution:
Ensure the height is at least 1.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
Whether an option is allowed to be empty isn't well defined and
isn't properly checked.
Solution:
- For non-list string options, explicitly check the option value
if it is empty.
- Annotate non-list string options that can accept an empty value.
- Adjust command completion to ignore the empty value.
- Render values in Lua meta files
|
| |
|
|
|
|
|
| |
This is needed to replace the nvim-lspconfig function is_descendant that
some lspconfg configurations still use.
|
|
|
|
|
|
|
|
|
|
| |
**Problem:** `vim.treesitter.get_parser()` and `vim.treesitter.start()`
both parse the tree before returning it. This is problematic because if
this is a sync parse, it will stall the editor on large files. If it is
an async parse, the functions return stale trees.
**Solution:** Remove this parsing side effect and leave it to the user
to parse the returned trees, either synchronously or asynchronously.
|
|
|
|
|
|
|
|
|
|
|
|
| |
**Problem:** Parsing can be slow for large files, and it is a blocking
operation which can be disruptive and annoying.
**Solution:** Provide a function for asynchronous parsing, which accepts
a callback to be run after parsing completes.
Co-authored-by: Lewis Russell <lewis6991@gmail.com>
Co-authored-by: Luuk van Baal <luukvbaal@gmail.com>
Co-authored-by: VanaIgr <vanaigranov@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
**Problem:** Query parsing uses a weak cache which is invalidated
frequently
**Solution:** Make the cache strong, and invalidate it manually when
necessary (that is, when `rtp` is changed or `query.set()` is called)
Co-authored-by: Christian Clason <c.clason@uni-graz.at>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: various ignore are not recognized
Solution: detect rg/docker/npm/vvsce ignore files as 'gitgnore' filetype
(Wu, Zhenyu)
Not only prettier, but many programs also support ignore files (like rg,
docker, npm, vscode). So use the gitignore filetype for them due to same syntax
closes: vim/vim#16428
https://github.com/vim/vim/commit/8cbe2e0a0a78f57bb545a97695bfedd6a95e6992
Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
|
|
|
|
|
|
|
|
|
|
|
|
| |
included packages (#31972)
Improve how to find the justify package
closes: vim/vim#16420
https://github.com/vim/vim/commit/9598a6369bce32d3da831e8968caf4625985ac3c
Co-authored-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Peter Benjamin <petermbenjamin@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(#30070)
BREAKING CHANGE: This changes the list of diagnostics that are passed to
a diagnostic handler. If a handler is already filtering by severity
itself then this won't break anything, since the handler's filtering
will become a no-op. But handlers which depend on receiving the full
list of diagnostics may break.
Note that diagnostics are only filtered if the handler's configuration
has the `severity` option set. If `severity` is not set, the handler
still receives the full list of diagnostics.
|
|
|
|
|
|
|
|
|
|
| |
angular
fixes: vim/vim#16375
https://github.com/vim/vim/commit/668e9f24037fc7c362ffdf5fc1d5c5b1a8b0e855
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Co-authored-by: Axel <axelhjq@gmail.com>
Co-authored-by: Colin Kennedy <colinvfx@gmail.com>
Co-authored-by: Daiki Noda <sys9kdr@users.noreply.github.com>
Co-authored-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com>
Co-authored-by: Jean-Jacq du Plessis <1030058+jj-du-plessis@users.noreply.github.com>
Co-authored-by: Juan Giordana <juangiordana@gmail.com>
Co-authored-by: Lincoln Wallace <locnnil0@gmail.com>
Co-authored-by: Matti Hellström <hellstrom@scm.com>
Co-authored-by: Steven Locorotondo <steven.locorotondo@justeattakeaway.com>
Co-authored-by: Yochem van Rosmalen <git@yochem.nl>
Co-authored-by: glepnir <glephunter@gmail.com>
Co-authored-by: ifish <fishioon@live.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
string quote escape (#31957)
Match the '' escape sequence in literal strings. These were previously
ending the current string and starting another concatenated literal
string.
closes: vim/vim#16415
https://github.com/vim/vim/commit/695522dea3703cf1b4cd4a894ca9a745a0d2756f
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
|
|
|
|
|
|
|
|
| |
closes: vim/vim#16419
https://github.com/vim/vim/commit/51754c8a498c39592250a077f56db89dd261995d
Co-authored-by: Yochem van Rosmalen <git@yochem.nl>
|