| Commit message (Collapse) | Author | Age |
|\
| |
| | |
feat(lua): add :verbose support for lua config
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
`:verbose` didn't work properly with lua configs (For example:
options or keymaps are set from lua, just say that they were set
from lua, doesn't say where they were set at.
This fixes that issue. Now `:verbose` will provide filename and line no
when option/keymap is set from lua.
Changes:
- compiles lua/vim/keymap.lua as vim/keymap.lua
- When souring a lua file current_sctx.sc_sid is set to SID_LUA
- Moved finding scripts SID out of `do_source()` to `get_current_script_id()`.
So it can be reused for lua files.
- Added new function `nlua_get_sctx` that extracts current lua scripts
name and line no with debug library. And creates a sctx for it.
NOTE: This function ignores C functions and blacklist which
currently contains only vim/_meta.lua so vim.o/opt wrappers aren't
targeted.
- Added function `nlua_set_sctx` that changes provided sctx to current
lua scripts sctx if a lua file is being executed.
- Added tests in tests/functional/lua/verbose_spec.lua
- add primary support for additional types (:autocmd, :function, :syntax) to lua verbose
Note: These can't yet be directly set from lua but once that's possible
:verbose should work for them hopefully :D
- add :verbose support for nvim_exec & nvim_command within lua
Currently auto commands/commands/functions ... can only be defined
by nvim_exec/nvim_command this adds support for them. Means if those
Are defined within lua with vim.cmd/nvim_exec :verbose will show their
location . Though note it'll show the line no on which nvim_exec call was made.
|
| | |
|
| |
| |
| |
| | |
Note: some of these changes are breaking, like change of API signatures
|
|\ \
| |/
|/| |
fix(api): convert blob to NUL-terminated API string
|
| |
| |
| |
| |
| | |
Looks like I did an oopsie; although API strings carry a size field, they should
still be usable as C-strings! (even though they may contain embedded NULs)
|
| | |
|
| |
| |
| |
| |
| | |
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
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Map listing does not clear the rest of the command line.
Solution: Call msg_clear_eos(). (closes vim/vim#5623, closes vim/vim#5962)
https://github.com/vim/vim/commit/d288eaad846f0e07e0141226f97d858dcf96cb78
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: An error from an expression mapping messes up the display.
Solution: When the expression results in an empty string return K_IGNORE.
In cmdline mode redraw the command line. (closes vim/vim#9726)
https://github.com/vim/vim/commit/74a0a5b26d0180f3ea89e9495dff6a26f0df23cb
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: When an expr mapping moves the cursor it is not restored.
Solution: Position the cursor after an expr mapping. (closes vim/vim#5256)
https://github.com/vim/vim/commit/4ebe0e62d097d68c5312f9c32714fb41a4c947a3
|
|\ \ \
| | | |
| | | |
| | | | |
dundargoc/refactor/coverity/big-parameter-passed-by-value
|
| | | | |
|
| | | | |
|
|\ \ \ \
| |/ / /
|/| | | |
feat(hardcopy): check gui colours for highlights first
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Previously, :hardcopy would only use terminal highlight colours, with a
fixed mapping table, despite internally supporting true colour. This
patch looks at the guifg colour first while coming up with the printing
highlight colours, then falls back to the terminal ones.
I have passed through the modec argument in this change because it was
there before, but it could be deleted and hardcoded to 'c' since nobody
sets it to anything else anywhere.
|
|\ \ \ \
| | | | |
| | | | | |
fix(aucmd_win): ensure aucmd_win stays floating
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
There are some places that mess with the window layout in preparation for moving
a window to a different split (win_split_ins called with new_wp != NULL).
This means the window layout can change slightly even if win_split_ins fails.
This is why it was still needed to restore the window layout in
aucmd_{prep,rest}buf even if we disallow win_split_ins from making aucmd_win
non-floating by moving it into a split.
We can just skip messing with the layout in such places if we're dealing with
the aucmd_win.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
| | | | | | |
|
|\ \ \ \ \ \
| |_|_|_|_|/
|/| | | | | |
refactor(PVS/V560): part of conditional expression is always true/false
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Problem: Dtrace files are recognized as filetype D.
Solution: Add a pattern for Dtrace files. (Teubel György, closes vim/vim#9841)
Add some more testing.
https://github.com/vim/vim/commit/4d56b971cbae01cc454eb09713326224993e38ed
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
signcol improvements
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Fixes #14195
|
| | | | | | | |
|
| | |_|_|/ /
| |/| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
50250542 failed to consider that the maximum passed to buf_signcols
is window scoped whereas the signcols value is buffer scoped. This can
lead to a bug where the signcolumn becomes incorrect if:
- global signcolumn is set to auto:N
- signcolumn in a window is changed locally to auto:M where M > N
- the buffer has a line with M or greater signs.
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | | | |
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
|
|\ \ \ \ \
| | | | | |
| | | | | | |
vim-patch:8.1.{1846,1955},8.2.0156
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Problem: Various typos in source files and tests.
Solution: Fix the typos. (Emir Sari, closes vim/vim#5532)
https://github.com/vim/vim/commit/4b96df5a017a04141c4e901b1fc5704a3ca48099
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Problem: Tests contain typos.
Solution: Correct the typos. (Dominique Pelle)
https://github.com/vim/vim/commit/1bc353b6f1b063e189e0cef26f8dc586dcf9161f
Other changes are either N/A or already applied.
|
| | |/ / /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Problem: Inconsistently using GetVimCommand() and v:progpath. (Daniel
Hahler)
Solution: Use GetVimCommand(). (closes vim/vim#4806)
https://github.com/vim/vim/commit/93344c2d707d9953f351c944e6a237c9916f69a3
Cherry-pick a change to test_profile.vim from patch 8.1.1544.
Cherry-pick a change to test_vimscript.vim from patch 8.1.1826.
Some of the args are no-op in Nvim, and `-i NONE` and `--headless` are
already added by `GetVimCommand()`. I'll try to match the order of args
in upstream, substituting `--not-a-term` with `--headless`.
|
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | | |
Problem: getchar() may return modifiers if no character is available.
Solution: Do not process modifiers when there is no character. (closes vim/vim#9806)
https://github.com/vim/vim/commit/ad6c45f62558e03d3e3a927b3fe4dbaf30a36bef
|
|\ \ \ \
| | | | |
| | | | | |
vim-patch:8.2.{4403,4418,4419,4422}
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Problem: Autochdir test fails on MS-Windows.
Solution: Expecta nother error on MS-Windows.
https://github.com/vim/vim/commit/adbb383e0f2bb59286ea8133f02c448fd334958f
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Problem: Illegal memory access when using exactly 20 highlights.
Solution: Add one more item in the array. (Brandon Richardson,
closes vim/vim#9800)
https://github.com/vim/vim/commit/a493b6506b67887a1cc2d1c00a896598c3b2d445
|