| Commit message (Collapse) | Author | Age |
|\ |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Ignore instead
|
| | |
|
|/
|
| |
This commit replaces the usage of math.floor((lo + hi) / 2) with the faster and equivalent bit.rshift(lo + hi, 1) for calculating the midpoint in binary search.
|
| |
|
|
|
|
|
|
| |
* Also fix newly found type mismatch.
* Note that it generates new warnings about using @private client
methods. A proper fix would be to revamp the lsp client documentation
altogether.
|
|
|
|
|
|
| |
Problem: Cairo files are not recognized.
Solution: Add a pattern for Cairo files. (Amaan Qureshi, closes vim/vim#12118)
https://github.com/vim/vim/commit/ff226d49fed2d8fc668084324c7b0f00117c5e74
|
| |
|
|
|
|
|
|
|
|
| |
Problem:
When building with gcc 4.9.2, tree-sitter throws warning: "for loop initial
declarations are only allowed in C99 or C11 mode"
Solution:
set CMAKE_C_STANDARD option to 99
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
Some built-in ftplugins set omnifunc/tagfunc/formatexpr which causes
lsp.lua:set_defaults() to skip setup of defaults for those filetypes.
For example the C++ ftplugin has:
omnifunc=ccomplete#Complete
Last set from /usr/share/nvim/runtime/ftplugin/c.vim line 30
so the changes done in #95c65a6b221fe6e1cf91e8322e7d7571dc511a71
will always be skipped for C++ files.
Solution:
Overwrite omnifunc/tagfunc/formatexpr options that were set by stock
ftplugin.
Fixes #21001
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
If vim_tempdir mysteriously goes missing (typically by "antivirus" on
Windows), any plugins using tempname() will be broken for the rest of
the session. #1432 #9833 https://groups.google.com/g/vim_use/c/ef55jNm5czI
Steps:
mkdir foo
TMPDIR=./foo nvim
:echo tempname()
!rm -r foo
:echo tempname()
tempname() still uses the foo path even though it was deleted.
Solution:
- Don't assume that vim_tempdir exists.
- If it goes missing once, retry vim_mktempdir and log (silently) an error.
- If it goes missing again, retry vim_mktempdir and show an error.
Rejected in Vim for performance reasons:
https://groups.google.com/g/vim_use/c/qgRob9SWDv8/m/FAOFVVcDTv0J
https://groups.google.com/g/vim_dev/c/cogp-Vye4oo/m/d_SVFXBbnnoJ
But, logging shows that `vim_gettempdir` is not called frequently.
Fixes #1432
Fixes #9833
Fixes #11250
Related: stdpath("run") f50135a32e11c535e1dc3a8e9460c5b4e640ee86
|
|\
| |
| | |
perf(statusline): UI elements are always redrawn on K_EVENT
|
| |
| |
| |
| |
| | |
Problem: 'statusline'-format UI elements are redrawn on each K_EVENT.
Solution: Only redraw UI elements when something relevant has changed.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Expression "!expr->func()" does not work.
Solution: Apply plus and minus earlier. (closes vim/vim#6348)
https://github.com/vim/vim/commit/0b1cd52ff6bf690388f892be686a91721a082e55
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
| |
| |
| |
| |
| |
| |
| |
| | |
When a buffer update callback is called, textlock is active so buffer
text cannot be changed, but cursor can still be moved. This can cause
problems when the buffer update is in the middle of an operator, like
the one mentioned in #16729. The solution is to save cursor position and
restore it afterwards, like how cursor is saved and restored when
evaluating an <expr> mapping.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Using NULL pointer with nested :open command.
Solution: Check that ccline.cmdbuff is not NULL.
https://github.com/vim/vim/commit/7ac5023a5f1a37baafbe1043645f97ba3443d9f6
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
| |
| |
| |
| | |
TS ranges are end column exclusive, so fix is_in_node_range
to account for that.
|
| |
| |
| |
| |
| |
| | |
Problem: Odin files are not recognized.
Solution: Add a pattern for Odin files. (Amaan Qureshi, closes vim/vim#12122)
https://github.com/vim/vim/commit/638388b8ef37684e36a7f5d9286bab2d31c28f36
|
| |
| |
| |
| |
| |
| | |
Problem: Unx Tal files are not recognized.
Solution: Add a pattern for Unx Tal files. (Amaan Qureshi, closes vim/vim#12117)
https://github.com/vim/vim/commit/cde1f8714ed2c046aa770c46229e781380122bd7
|
| |
| |
| |
| |
| |
| |
| | |
(#22575)
Revert "refactor(treesitter): delegate region calculation to treesitter (#22553)"
This reverts commit 276b647fdba07bf1762d8dd371c4b655b8a418df.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Using freed memory in open command.
Solution: Make a copy of the current line.
https://github.com/vim/vim/commit/e031fe90cf2e375ce861ff5e5e281e4ad229ebb9
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
| | |
|
|\ \
| | |
| | | |
refactor(build): make installation of runtime/ more effective
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Currently files to install in runtime/ is detected by recursive glob
pattern which has two problems:
- cmake needs to do a of work at config time and
build/runtime/cmake_install.cmake becomes HUGE (2.5MB, biggest config file)
- we need to explicitly specify each file suffix used in the entire
runtime, which is duplication of information.
These globs specify every single file in a subdirectory.
Thus, we can just install every runtime/ subdirectory as a single
install command. Furthermore, at the top-level, only .vim and .lua files
need to be installed.
Further possible refactor: we could move files which does not belong
in $PREFIX/runtime out of $REPO/runtime. Then runtime could be installed
with a single install_helper(DIRECTORY ...) command.
|
| |/
|/| |
|
|\ \
| | |
| | | |
feat(man.lua): support spaces in manpage names
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem:
:Man command errors if given more than two arguments. Thus, it is
impossible to open man pages that contain spaces in their names.
Solution:
Adjust :Man so that it tries variants with spaces and underscores, and
uses the first found.
|
|/ /
| |
| |
| |
| |
| |
| | |
TODO:
Unfortunately, cannot (yet) use vim.version for tmux version comparison,
because `vim.version.parse(…,{strict=false})` does not coerce tmux's
funny "tmux 3.3a" version string.
https://github.com/neovim/neovim/blob/6969d3d7491fc2f10d80309b26dd0c26d211b1b3/runtime/autoload/provider/clipboard.vim#L148
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Update runtime files
https://github.com/vim/vim/commit/944697ae19683441981539cd4d2469df89d6ec82
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Value of MAXCOL not available in Vim script.
Solution: Add v:maxcol. (Naohiro Ono, closes vim/vim#9451)
https://github.com/vim/vim/commit/56200eed62e59ad831f6564dcafe346e6f97ac20
The variable is always 2147483647, but introducing it makes functions
easier to document.
Co-authored-by: naohiro ono <obcat@icloud.com>
|
| |/
|/|
| |
| | |
Libintl being an optional dependency is not by design, but a workaround
as it didn't use work on all platforms. That should be fixed by now.
|
|/ |
|
| |
|
|
|
|
|
| |
The new oldtest directory is in test/old/testdir. The reason for this is
that many tests have hardcoded the parent directory name to be
'testdir'.
|
|
|
|
|
|
|
|
| |
Problem: 'statuscolumn' width can be incorrect when toggling 'number'
or setting 'statuscolumn'.
Solution: Make sure the width is reset and re-estimated when
'statuscolumn' and 'number' are set. (When 'relativenumber'
is set this already happens because it always changes
"nrwidth_line_count".)
|
|\
| |
| | |
omnifunc for builtin lua
|
| |
| |
| |
| |
| |
| |
| | |
also make implicit submodules "uri" and "_inspector" work with completion
this is needed for `:lua=vim.uri_<tab>` wildmenu completion
to work even before uri or _inspector functions are used.
|
| |
| |
| |
| |
| |
| |
| | |
Unittests not working on release builds can lead to confusing
situations, such as contributors wondering why their tests aren't
working if they forgot they've built with a release build. This only
increased the Release executable size by 8 kB on my personal machine,
which is an acceptable tradeoff.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
feat(lsp)!: change semantic token highlighting
Change the default highlights used, and add more highlights per token.
Add an LspTokenUpdate event and a highlight_token function.
:Inspect now shows any highlights applied by token highlighting rules,
default or user-defined.
BREAKING CHANGE: change the default highlight groups used by semantic
token highlighting.
|
| | |
|
|\ \ |
|