| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
Works similar to ex <f-args>. It only splits the arguments if the
command has more than one posible argument. In cases were the command
can only have 1 argument opts.fargs = { opts.args }
|
|\
| |
| | |
feat: ignore nore on <Plug> maps
|
| | |
|
|\ \
| | |
| | | |
support threads in lua
|
| | | |
|
| | | |
|
|\ \ \
| |_|/
|/| | |
vim-patch:8.1.2336,8.2.{4338,4401}: mapping cursor and redrawing patches
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add tests for:
- Cursor position restored after :map expr
- Cursor position restored after :imap expr
- Error in :cmap expr handled correctly
Cherry-picked from #12837
|
|\ \ \
| | | |
| | | | |
fix(aucmd_win): ensure aucmd_win stays floating
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Nvim uses a floating window for the autocmd window, but in certain situations,
it can be made non-floating (`:wincmd J`), which can cause issues due to the
previous setup and cleanup logic for a non-floating aucmd_win being removed from
aucmd_prepbuf and aucmd_restbuf.
This can cause glitchiness and crashes due to the aucmd_win's frame being
invalid after closing its tabpage, for example.
Ensure aucmd_win cannot be made non-floating. The only place this happens is in
win_split_ins if new_wp != NULL.
|
|\ \ \ \
| | | | |
| | | | | |
fix(api): nvim_win_set_cursor() redraw for cursorline and statusline
|
| | | | | |
|
|\ \ \ \ \
| |_|_|_|/
|/| | | | |
test: use helpers.pending_win32(pending) instead of iswin()
|
| | | | | |
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
signcol improvements
|
| | | | |
| | | | |
| | | | |
| | | | | |
Fixes #14195
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
ci: remove failing windows CI tests
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
nvim_buf_set_text does not handle negative row numbers correctly: for
example,
nvim_buf_set_text(0, -2, 0, -1, 20, {"Hello", "world"})
should replace the 2nd to last line in the buffer with "Hello" and the
first 20 characters of the last line with "world". Instead, it reports
"start_row out of bounds". This happens because when negative line
numbers are used, they are incremented by one additional number to make
the non-negative line numbers end-exclusive. However, the line numbers
for nvim_buf_set_text should be end-inclusive.
In #15181 we handled this for nvim_buf_get_text by adding a new
parameter to `normalize_index`. We can solve the problem with
nvim_buf_set_text by simply availing ourselves of this new argument.
This is a breaking change, but makes the semantics of negative line
numbers much clearer and more obvious (as well as matching
nvim_buf_get_text).
BREAKING CHANGE: Existing usages of nvim_buf_set_text that use negative
line numbers will be off-by-one.
|
| |_|/ /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
nvim_buf_get_text is the mirror of nvim_buf_set_text. It differs from
nvim_buf_get_lines in that it allows retrieving only portions of lines.
While this can typically be done easily enough by API clients,
implementing this function provides symmetry between the get/set
text/lines APIs, and also provides a nice convenience that saves API
clients the work of having to slice the result of nvim_buf_get_lines
themselves.
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
... for when `ns=0`.
Also update the documentation of nvim_set_hl to clarify the set
behaviour.
Fixes #17478
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Test for put with large count fails.
Solution: Adjust the counts in the test.
https://github.com/vim/vim/commit/8bc07e800c2af36686aadd4178cc2671f5c454d4
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Integer overflow with large line number.
Solution: Check for overflow. (closes vim/vim#9202)
https://github.com/vim/vim/commit/03725c5795ae5b8c14da4a39cd0ce723c6dd4304
Put E1247 in globals.h as E1240 is also there.
Do not make getdigits() abort.
|
|\ \ \
| | | |
| | | | |
vim-patch:8.2.{3492,3493,3570,3573,3574,3575,3577,3601}: put overflow checking shenanigans
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Check for overflow in put count does not work well.
Solution: Improve the overflow check. (Ozaki Kiichi, closes vim/vim#9102)
https://github.com/vim/vim/commit/fa53722367c3793fda95dac665af74b8651065e9
Add some casts as Nvim uses size_t variables in some places.
We could technically adjust the logic to check for overflow outside of size_t's
range, but it's much easier to just port the patch exactly (also means we can
use the same tests).
v:sizeoflong is N/A, so convert the 64-bit tests to Lua and use the FFI to check
long's size.
|
|\ \ \ \ |
|
| | | | | |
|
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: when accessing `nvim_set_hl` from Lua, empty tables are converted
to empty lists, not dictionaries, resulting in an error for
:lua vim.api.nvim_set_hl(0, "Comment", { cterm = {} })
Workaround: add an empty array as a special case when checking
`dict->cterm.type` and just set `cterm_mask_provided`.
(Proper solution: handle this in `gen_api_dispatch.lua`.)
|
|\ \ \ \
| |_|_|/
|/| | | |
fix(highlight): global ns improvements
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- and reduce heap allocations
Fixes #17420
|
|\ \ \ \
| |_|/ /
|/| | | |
feat(events): add DirChangedPre
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
In Nvim, like DirChanged, this also triggers when switching windows.
This marks Vim patch 8.2.4335 as ported.
vim-patch:8.2.4335: no autocommand event triggered before changing directory
Problem: No autocommand event triggered before changing directory. (Ronnie
Magatti)
Solution: Add DirChangedPre. (closes vim/vim#9721)
https://github.com/vim/vim/commit/28e8f73ae2d90009fd62cd60f97c2643ba44de68
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This allows falling back to `@definition` when we have no mapping
`@definition.fancy-specialization`.
This behavior is described in tree-sitter's documentation
(https://tree-sitter.github.io/tree-sitter/syntax-highlighting#theme).
Fixes https://github.com/nvim-treesitter/nvim-treesitter/issues/738
|
|\ \ \ \
| | | | |
| | | | | |
fix(api): re-route nvim_get_runtime_file errors
|
| | |/ /
| |/| |
| | | |
| | | | |
This allows nvim_get_runtime_file to be properly used via pcall
|
| | | | |
|
|\ \ \ \
| |/ / /
|/| | | |
fix: <Nop> not shown in :map commands
|
| | |/
| |/| |
|
|/ /
| |
| |
| | |
This uses the same validation used when defining commands with
`:command`.
|
|\ \
| | |
| | | |
vim-patch:8.2.{3073,4120,4151,4152}
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Block insert with double wide character fails.
Solution: Adjust the expected output.
https://github.com/vim/vim/commit/fc6ccebea668c49e9e617e0657421b6a8ed9df1e
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
Problem: When reloading not all properties are detected.
Solution: Add the "edit" value to v:fcs_choice. (Rob Pilling, closes vim/vim#9579)
https://github.com/vim/vim/commit/8196e94a8b72ed8618605cb66615571313097d78
Cherry-pick some test changes from patch 8.1.1826.
|
|\ \
| | |
| | | |
fix(screen): don't put empty sign text in line number column
|
| | |
| | |
| | |
| | |
| | |
| | | |
When `signcolumn=number` but no sign on a given line has any text,
display the line's line number instead of the (empty) sign text in the
line number column.
|
|\ \ \
| | | |
| | | | |
fix: autoload variables not loaded with vim.g & nvim_get_var
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
test_cdo.vim is copied from Vim v8.1.1483.
test_packadd.vim is copied from Vim v8.2.0174.
|