| Commit message (Collapse) | Author | Age |
... | |
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fixes build error:
cd /usr/home/build/neovim/build/runtime && /usr/local/bin/cmake -E remove doc/* && /usr/local/bin/cmake -E copy_directory /usr/home/build/neovim/runtime/doc doc && /usr/home/build/neovim/build/bin/nvim -u NONE -i NONE -e --headless -c helptags\ ++t\ doc -c quit
Error detected while processing command line:
E154: Duplicate tag "vim.register_keystroke_callback()" in file doc/lua.txt
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Adds the following API functions.
- nvim_buf_set_mark(buf, name, line, col)
* Set marks in a buffer.
- nvim_buf_del_mark(buf, name)
* Delete a mark that belongs to buffer.
- nvim_del_mark(name)
* Delete a global mark.
- nvim_get_mark(name)
* Get a global mark.
Tests:
- Adds test to all the new api functions, and adds more for the existing
nvim_buf_get_mark.
* Tests include failure cases.
Documentation:
- Adds documentation for all the new functions, and improves the
existing fucntion docs.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Add optional second table argument to vim.json.decode which takes
a table 'luanil' which can include the 'object' and/or 'array' keys. These
options use luanil when converting NULL in json objects and arrays
respectively. The default behavior matches the original lua-cjson.
* Remove recursive_convert_NIL function from rpc.lua, use
vim.json.decode with luanil = { object = true } instead. This removes a hotpath
in the json deserialization pipeline by dropping keys with json NULL
values throughout the deserialized table.
|
| | |
| | |
| | |
| | |
| | | |
Problem: Some files with tcl syntax are not recognized.
Solution: Add a few file patterns. (Doug Kearns)
https://github.com/vim/vim/commit/78aa5ffe314f40d33666f03b833f66b11c3d0f67
|
|\ \ \
| | | |
| | | | |
feat(checkhealth): support Lua healthchecks
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Move away from providing completion with ExpandRTDir to ExpandGeneric
providing the function get_healthcheck_name which caches the results for
the current command line prompt.
It does the almost the same thing the Vim function 'get_healthcheck'
implemented in 'runtime/autoload/health.vim' does.
|
|\ \ \ \
| | | | |
| | | | | |
fix(mouse): correct dragged position in composed layout
|
| | | | | |
|
| | | | | |
|
|\ \ \ \ \
| |_|/ / /
|/| | | | |
refactor(api): re-organanize public and private API functions
|
| | | | | |
|
| |/ / / |
|
| | | | |
|
| | | |
| | | |
| | | | |
Closes #15605
|
| | | | |
|
| | | | |
|
| |_|/
|/| |
| | |
| | |
| | | |
Problem: Some files with json syntax are not recognized.
Solution: Add a few file patterns. (Emiliano Ruiz Carletti, closes vim/vim#8947)
https://github.com/vim/vim/commit/50c56893423eb6ad2154a4151e67f7097f52efb6
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
(#15886)
Problem: Completion submode not indicated for virtual replace.
Solution: Add submode to "Rv". (closes vim/vim#8945)
https://github.com/vim/vim/commit/cc8cd4453332276d55b4a1109eace5785a4f319d
|
|/ /
| |
| |
| |
| | |
Problem: Cannot detect insert scroll mode.
Solution: Add "scroll" to complete_info(). (closes vim/vim#8943)
https://github.com/vim/vim/commit/27fef59dd1dd75f50c366f7f616ffa4451560452
|
|\ \
| | |
| | | |
refactor(api): Represent option dicts as a structs in C and reduce conversion overhead from lua
|
| |/
| |
| |
| |
| |
| |
| | |
Do not copy a lot of lua strings (dict keys) to just strequal() them
Just compare them directly to a dedicated hash function.
feat(generators): HASHY McHASHFACE
|
| |
| |
| |
| |
| | |
Problem: nginx files are not recognized.
Solution: Add several file patterns. (Chris Aumann, closes vim/vim#8922)
https://github.com/vim/vim/commit/8b8c0ed657fabd88e610401ca8a12366f987db94
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
win_set_buf can trigger autocmds if noautocmd=false. If they close the window,
code afterwards will dereference the freed win_T* wp pointer.
This interaction became possible after commit 1def3d1542d6a65f057e743faea39a760b50db87.
The reason deleting curbuf crashes, and not the buf passed to
`nvim_open_win`, is because the float initially edits curbuf (`win_init`)
until it's later set to edit buf (windows from `:new` and `:split <buf>`
behave similiarly: approx. `:split`, then `:buffer <buf>`).
`do_buffer` closes windows when their edited buffer is deleted (unless
it's the only window; N/A for floats), so the float closes when curbuf
is deleted, so we need to check `win_valid` after `win_set_buf` too.
Closes #15548
|
| |
| |
| |
| |
| | |
Problem: Some type casts are not needed.
Solution: Remove unnecessary type casts. (closes vim/vim#8934)
https://github.com/vim/vim/commit/dfa5e464d459f84200a73d178f1ecefe75bbe511
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
N, W, S, E are all inclusive, i.e., always anchor to the exact corner of the
window (including border). This line may also need change in this case (change
0 to -1):
This is most consistent and easiest to reason about, especially with GUIs whose
border do not need to have width/height of 1/1 in cell units.
Fix #15789
|
| |
| |
| |
| | |
* refactor: format with uncrustify
* refactor: fix function parameter comments
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem:
Since 2f06413dfb36 #13042, "ESC+c" sequence is treated as "ESC c"
instead of "M-c" (ALT/META+c) when not mapped, aka "fallthrough"
behavior. But "isolated" (non-ALT/META) mappings to ESC and c were not
resolved. This behavior is especially confusing for the TUI.
Solution:
Resolve isolated ESC, c mappings when there is no M-c mapping.
Change ins_char_typebuf() to escape CSI, K_SPECIAL.
fixes #13086
fixes #15869
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
fix(runtime): add compressed {&packpath}/start/*/pack/*[/after] representation to &rtp
by suggestion by at-tpope
Summary:
We can add XDG_DATA_DIR/nvim/site/pack/*/start/* (et al) as an unexpanded wildchar to &rtp which keeps it both short and explicit and still supporting globpath(&rtp, ...).
ref #15101
|
| |/
| |
| |
| | |
This makes `globpath(&rtp, ...)` work again for start packages
|
| |
| |
| |
| | |
* refactor: format with uncrustify
* refactor: convert function comments to doxygen
|
| | |
|
|\ \
| | |
| | | |
refactor: update path to xdiff in comments
|
| |/ |
|
|/
|
|
|
| |
The xdiff directory is excluded from the PVS report so the comment isn't
required.
|
|
|
|
| |
they must come after ordinary runtime dirs which are not "after"
|
|\
| |
| | |
vim-patch:8.1.2304,8.1.2309,8.1.2319,8.1.2321
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Cannot select all text with the mouse. (John Marriott)
Solution: Move limiting the mouse column to f_getmousepos().
(closes https://github.com/vim/vim/issues/5242)
https://github.com/vim/vim/commit/0a5aa7b28a39507260acb15c1ef698a33c855cc1
|
| |
| |
| |
| |
| |
| | |
Problem: Compiler warning for int size.
Solution: Add typecast. (Mike Williams)
https://github.com/vim/vim/commit/07a63d86338476bafbd1a3ec462672df92666498
|
| |
| |
| |
| |
| |
| | |
Problem: Compiler warning for argument type.
Solution: Use linenr_T and cast to varnumber_T. (John Marriott)
https://github.com/vim/vim/commit/abe12a1a4fce36bfa5dea3a0ce85603432d1905b
|
| |
| |
| |
| |
| |
| | |
Problem: Cannot get the mouse position when getting a mouse click.
Solution: Add getmousepos().
https://github.com/vim/vim/commit/db3a205147ce2c335d5c2181c1f789277f8775b0
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
* refactor: format with uncrustify
* fixup(dundar): fix functions comments
* fixup(dundar): remove space between variable and ++/--
* fixup(dundar): better workaround for macro attributes
This is done to be able to better use uncrustify rules for macros
* fixup(justin): make preprocessors follow neovim style guide
|
|\
| |
| | |
fix(runtime): make a copy of runtime_search_path when iterating
|
| |
| |
| |
| |
| | |
This is to prevent concurrent modification, just like save_rtp
in the vim 8 implementation
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
Continuation of https://github.com/neovim/neovim/pull/15202
A plugin like telescope could override it with a fancy implementation
and then users would get the telescope-ui within each plugin that
utilizes the vim.ui.select function.
There are some plugins which override the `textDocument/codeAction`
handler solely to provide a different UI. With custom client commands and
soon codeAction resolve support, it becomes more difficult to implement
the handler right - so having a dedicated way to override the picking
function will be useful.
|
|\
| |
| | |
feat(lua): expose lua-cjson as vim.json
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* add vim.json.encode and vim.json.decode
* use vim.NIL instead of cjson.null
* resolve strict-prototypes warnings
* The following benchmark shows an approximately 2.5x (750 ms vs 300 ms) improvement in deserialization performance over
vim.fn.json_decode on a medium package.json
```lua
local uv = vim.loop
local function readfile(path)
return
end
local json_url = "https://raw.githubusercontent.com/rust-analyzer/rust-analyzer/b24c8d5c89ee93d1172b4127564f5da3b0c88dad/editors/code/package.json"
io.popen(string.format('curl -v -f -L -O %q &> /dev/null', json_url))
local json_string = io.open('package.json'):read '*a'
uv.update_time()
local start = uv.hrtime()
for i = 1,1000 do
vim.fn.json_decode(json_string)
end
uv.update_time()
print(string.format("Deserialization time vim.fn.json_decode: %s ms", (uv.hrtime() - start) * (1e-6)))
uv.update_time()
local start = uv.hrtime()
for i = 1,1000 do
vim.json.decode(json_string)
end
uv.update_time()
print(string.format("Deserialization time vim.json.decode: %s ms", (uv.hrtime() - start) * (1e-6)))
```
Co-Authored-By: Björn Linse <bjorn.linse@gmail.com>
|
| |
| |
| |
| | |
Derived from the openresty lua-cjson fork at commit https://github.com/openresty/lua-cjson/commit/3d93d297092172eac3d52a1b3b6c1d479da5341a
|
|\ \
| | |
| | | |
fix(ui_bridge): set bridge width and height on attach
|
| | | |
|