| Commit message (Collapse) | Author | Age |
|
|
|
| |
~10% faster.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
vim.fs.normalize() normalizes too much vim.loader and is slow.
Solution:
Make it faster by doing less. This reduces the times spent in
vim.fs.normalize in vim.loader from ~13ms -> 1-2ms.
Numbers from a relative benchmark:
- Skipping `vim.validate()`: 285ms -> 230ms
- Skipping `path_resolve_dot()`: 285ms -> 60ms
- Skipping `double_slash`: 60ms -> 35ms
|
|
|
|
|
|
|
|
|
|
|
|
| |
Closes https://github.com/neovim/neovim/issues/28484.
Closes https://github.com/neovim/neovim/issues/28719.
Co-authored-by: Chris <crwebb85@gmail.com>
Co-authored-by: Gregory Anders <greg@gpanders.com>
Co-authored-by: Jake B <16889000+jakethedev@users.noreply.github.com>
Co-authored-by: Jonathan Raines <jonathan.s.raines@gmail.com>
Co-authored-by: Yi Ming <ofseed@foxmail.com>
Co-authored-by: Zane Dufour <zane@znd4.me>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
|
|
|
|
| |
If a client for a server was already running and lsp.start was called in
an unloaded buffer it started another client instead of bailing out.
|
| |
|
| |
|
|
|
|
| |
Make the LSP protocol typings up-to-date with LSP protocol (upcoming)
version 3.18, before and in preparation for the Nvim 0.10.0 release.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Doesn't have a huge impact, but showed up in profile output using
`require("jit.p").start("i1", "/tmp/profile")`
before:
31% joinpath
25% fs.lua:0
13% normalize
13% skip
8% _watchfunc
5% gsplit
3% spairs
after:
34% skip
29% fs.lua:0
12% joinpath
7% normalize
5% _watchfunc
5% spairs
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Re-normalizing a path after a `joinpath` isn't necessary. Calling
`normalize` on each child directory had quite a bit of impact when
traversing a large directory.
A simple test showed:
Before: ~144ms
After: ~80ms
running the following logic against a dir with 4367 child folders and
25826 files:
local files = {}
local start = uv.hrtime()
for name, type in vim.fs.dir(path, { depth = max_depth }) do
table.insert(files, { name, type })
end
local duration = uv.hrtime() - start
Relates to https://github.com/neovim/neovim/issues/23291
|
|
|
|
|
|
|
|
| |
runtime(python): Fix wrong define regex in ftplugin (vim/vim#14763)
https://github.com/vim/vim/commit/7961210b861ce9a1a773cfc1fe96b388216bb1f2
Co-authored-by: Tom Picton <tom@tompicton.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ftplugin(python): E16 fix, async keyword support for define (vim/vim#14751)
This change includes the following changes:
- Fix "E16: Invalid range" when using a count with jump to start/end of class/method
- Update define with optional async keyword
- Update maintainer email
https://github.com/vim/vim/commit/86f6e2c2eed7df2bf5c60cc74d08d7a8d3c75f45
Co-authored-by: Tom Picton <tom@tompicton.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
runtime(netrw): prefer scp over pscp
regression introduced in ce2ad9ffd79fe6b2307cd46b9
The current logic is a bit funny, in that it checks for an executable of
scp, then pscp and if neither exists, it uses: scp :/
Anyway, let's fall back to the logic used before the above commit.
related: vim/vim#14739
https://github.com/vim/vim/commit/43f2edc096cbf9c67095b301a1f4325866eeba36
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|
|
|
|
|
|
|
|
|
|
| |
runtime(i3config/swayconfig): allow indented commands (vim/vim#14757)
fixes: vim/vim#14752
https://github.com/vim/vim/commit/679f5abb9930fafda29ae038f47de357e9a0f53e
Co-authored-by: Josef Litoš <54900518+JosefLitos@users.noreply.github.com>
Co-authored-by: jamespeapen <jamespeapen@users.noreply.github.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: The column width 10 for parser name (lang) is too short.
For example, `markdown_inline` has 15 characters, which results in a
slight misalignment with other lines.
e.g. it looked like:
```
- OK Parser: markdown ABI: 14, path: .../parser/markdown.so
- OK Parser: markdown_inline ABI: 14, path: .../parser/markdown_inline.so
- OK Parser: php ABI: 14, path: .../parser/php.so
```
Solution: Use column width 20. As of now, the longest name among those
available in nvim-treesitter has length 18 (`haskell_persistent`).
e.g.:
```
- OK Parser: markdown ABI: 14, path: .../parser/markdown.so
- OK Parser: markdown_inline ABI: 14, path: .../parser/markdown_inline.so
- OK Parser: php ABI: 14, path: .../parser/php.so
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
The nvim_win_xx_ns function family introduced in ba0370b1d718d473d0ef51c35d88b98ba220082b
needs more bake-time. Currently it's narrowly defined for windows, but
other scopes ("buffer") and features are likely in the future.
Solution:
- Rename the API with double-underscore to mark it as EXPERIMENTAL.
TODO/FUTURE:
- Rename and change the signature to support more than just "window"
scope, and for other flexibility.
- Open question: we could choose either:
- "store scopes on namespaces", or
- "store namespaces on scopes (w:/b:/…)"
|
|
|
|
|
|
|
|
| |
Problem:
nvim_win_remove_ns does not follow `help dev-naming` API naming conventions.
Solution:
Rename it.
|
|
|
|
|
|
|
|
|
| |
runtime(doc): update and remove some invalid links
closes: vim/vim#14748
https://github.com/vim/vim/commit/1c5728e0c4a9df930879f9f0ca108092d5902194
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|
|
|
|
|
|
|
|
|
| |
runtime(netrw): Recursively delete directories by default with netrw delete command
closes: vim/vim#14742
https://github.com/vim/vim/commit/c16c4a21eb397634309f1f574811461d6154118d
Co-authored-by: Nir Lichtman <nir@lichtman.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
runtime(java): Strive to remain compatible for at least Vim 7.0 (vim/vim#14744)
Also:
- Limit all look-behind regexp patterns.
- Cache regexp capabilities for [:upper:] and [:lower:].
https://github.com/vim/vim/commit/d3952e8cfe7baed1ff5c8111da5272a038cb55e4
Co-authored-by: Aliaksei Budavei <32549825+zzzyxwvut@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: mdd files detected as zsh filetype
Solution: detect '*.mdd' files as sh filetype, add links
to reference documentation (Wu, Zhenyu)
closes: vim/vim#14741
https://github.com/vim/vim/commit/63f2a5b8adfb570792b9a7cbfff1c350913bbe3e
Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: zsh module files are not recognized
Solution: Detect '*.mdh' and '*.epro' as C filetype, '*.mdd' as zsh
filetype, determine zsh-modules '*.pro' from from it's content
(Wu, Zhenyu)
closes: vim/vim#14737
https://github.com/vim/vim/commit/887a38cee78c472fe406da60751fbba4a6ec19dd
Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
runtime(java): Stop handpicking syntax groups for @javaTop (vim/vim#14727)
* runtime(java): Stop handpicking syntax groups for @javaTop
Also:
- Remove the obsolete comment for g:java_allow_cpp_keywords.
- Remove the commented out groups java\%[Debug\]StringError.
- Infer and set the preferred formatting Vim options from
the modeline.
Since vim-6-0u, non-contained syntax groups can be referred
to by using the "contains=TOP..." argument.
* Set &encoding and &termencoding to "utf-8" for test files
* Limit non-ASCII charset to [§ƒɐɘʬʭΑ-Τα-μ] for test files
https://github.com/vim/vim/commit/06bdac158072b90560915f8e664ee6d9bdab2f9b
Co-authored-by: Aliaksei Budavei <32549825+zzzyxwvut@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
The file watcher backends for Linux have too many limitations and
doesn't work reliably.
Solution:
disable didChangeWatchedFiles on Linux
Ref: #27807, #28058, #23291, #26520
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
runtime(spec): add new items to scripts section in syntax plugin
- %generate_buildrequires — added in RPM 4.15
- %conf — added in RPM 4.18
closes: vim/vim#14723
Ref: https://rpm-software-management.github.io/rpm/manual/spec.html#build-scriptlets
https://github.com/vim/vim/commit/cb3691811be93b2c49179649c684d6ce2141a46f
Co-authored-by: Maxwell G <maxwell@gtmx.me>
|
|
|
|
|
|
|
|
|
|
| |
runtime(netrw): Remove hardcoded private.ppk logic from netrw
closes: vim/vim#14739
https://github.com/vim/vim/commit/ce2ad9ffd79fe6b2307cd46b96af7d99c0dd646e
Co-authored-by: Nir Lichtman <nir@lichtman.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: jj files are not recognized
Solution: recognize '*.jjdescription' files as jj filetype
(Gregory Anders)
See: https://github.com/martinvonz/jj
closes: vim/vim#14733
https://github.com/vim/vim/commit/6a4ea471d28107c4078e106ace1bdc0c54bf946b
|
|
|
|
|
|
|
|
|
|
| |
runtime(netrw): Remove and cleanup Win9x legacy from netrw
closes: vim/vim#14732
https://github.com/vim/vim/commit/1e34b95e4402fd8964ea4bcee0d2b6ffa6677aab
Co-authored-by: Nir Lichtman <nir@lichtman.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
runtime(cpp): Fix digit separator in syntax script for octals and floats
Also fix the incorrect rendering of floats that start with ".".
closes: vim/vim#14724
https://github.com/vim/vim/commit/c5def6561d5612487ac3523787da1c26335b17e1
Co-authored-by: Wu Yongwei <wuyongwei@gmail.com>
|
|\ |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
As suggested in
https://github.com/neovim/neovim/pull/28483#discussion_r1586878457 and
https://github.com/neovim/neovim/pull/28483#discussion_r1586878226
|
| | |
|
| |
| |
| |
| | |
As suggested in https://github.com/neovim/neovim/pull/28483#discussion_r1581712828
|
| | |
|
| |
| |
| |
| | |
See https://github.com/neovim/neovim/pull/28483#discussion_r1583344120
|
|/
|
|
|
|
|
|
|
|
|
|
| |
Rename the field `result` to `params` in the `data` table for
`LspProgress` autocmds. This aligns with LspNotify.
The previous name was chosen because the initial handler implementation
mistakenly had a parameter name `result` instead of `params` for the
`$/progress` LSP "notification" handler. However, `params` would be a
more appropriate name that is more consistent with the underlying LSP
type (`ProgressParams`).
See also: https://microsoft.github.io/language-server-protocol/specifications/specification-current/#progress
|
|
|
|
|
|
|
|
| |
Problem:
UINT32_MAX + 1 passed to vim._foldupdate.
Solution:
Clip the end row from treesitter asap to avoid such issues.
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
inlay_hint `enable(<no args>)` does not activate inlay hints on open
buffers. If a buffer does not have a corresponding `bufstate` in
`bufstates`, then `enable` all buffers will not take effect on it.
Solution:
Make the effective range determined by the loaded buffers.
Fix #28624
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
runtime(sh,zsh): clear $MANPAGER in ftplugin before shelling out
Say you use Vim and set MANPAGER='vim -M +MANPAGER --not-a-term -'; then
:{Zs,S}hKeywordPrg (or K) will crap out and spew terminal garbage into
less when bash's "help" fails. This was introduced by 2f25e40b1
(runtime: configure keywordpg for some file types (vim/vim#5566), 2023-08-23)
and may be present in other files touched by that commit.
Make the "man" invocation sensible by unsetting MANPAGER in the
environment.
Note that changing MANPAGER for `:terminal` is not needed; Vim within
Vim is perfectly fine.
closes: vim/vim#14679
https://github.com/vim/vim/commit/8d8cb45756cb7e6fda17013b8347be3a11b29610
Co-authored-by: D. Ben Knoble <ben.knoble+github@gmail.com>
|
|
|
|
|
|
|
|
|
| |
Revert the default LSP mappings before the 0.10 release as these might
need some further consideration. In particular, it's not clear if "c"
prefixed maps in Normal mode are acceptable as defaults since they
interfere with text objects or operator ranges.
We will re-introduce default mappings at the beginning of the 0.11
release cycle, this reversion is only for the imminent 0.10 release.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
runtime(doc): Fix typos in help documents
closes: vim/vim#14720
https://github.com/vim/vim/commit/53753f6a49253cdb3f98f6461d3de3b07ed67451
Co-authored-by: h-east <h.east.727@gmail.com>
Co-authored-by: Christian Clason <c.clason@uni-graz.at>
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
runtime(doc): correct getscriptinfo() example (vim/vim#14718)
When "sid" is specified, it returns a List with a single item.
https://github.com/vim/vim/commit/ad4881cb3c04048242f69dc77af2dde889c9beea
|
|
|
| |
Some parsers for, e.g., LaTeX or PHP have anonymous nodes like `"\"` or `"\text"` that behave wonkily (especially the first example) in the `InspectTree` window, so this PR escapes them by adding another backslash in front of them
|
|
|
|
|
|
| |
Refer to `deprecated.txt` in `news.txt` in the deprecated section and
order `deprecated.txt` according to which version a feature was
deprecated in.
|