| Commit message (Collapse) | Author | Age |
... | |
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
fix(mouse): correct dragged position in composed layout
|
| | | | | |
|
| | | | | |
|
|\ \ \ \ \
| |_|/ / /
|/| | | | |
refactor(api): re-organanize public and private API functions
|
| | | | | |
|
| |/ / / |
|
| | | | |
|
| | | |
| | | |
| | | | |
Closes #15605
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
refactor: define diagnostic highlights in syntax.c
|
|/ / / / |
|
|\ \ \ \
| | | | |
| | | | | |
feat(lua): add "noempty" param to vim.split()
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The `split()` VimL function trims empty items from the returned list by
default, so that, e.g.
split("\nhello\nworld\n\n", "\n")
returns
["hello", "world"]
The Lua implementation of vim.split does not do this. For example,
vim.split("\nhello\nworld\n\n", "\n")
returns
{'', 'hello', 'world', '', ''}
Add an optional parameter to the vim.split function that, when true,
trims these empty elements from the front and back of the returned
table. This is only possible for vim.split and not vim.gsplit; because
vim.gsplit is an iterator, there is no way for it to know if the current
item is the last non-empty item.
Note that in order to preserve backward compatibility, the parameter for
the Lua vim.split function is `trimempty`, while the VimL function uses
`keepempty` (i.e. they are opposites). This means there is a disconnect
between these two functions that may surprise users.
|
| |_|_|/
|/| | |
| | | |
| | | |
| | | | |
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
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Always make calls to `vim.diagnostic.set` call `vim.diagnostic.show`.
This creates an easier to reason about code path and is also less
surprising when users wish to override override `vim.diagnostic.show`
with custom behavior and `vim.diagnostic.set` is called with empty
diagnostics.
Functionally, the end result is the same: when `show` is called with an
empty diagnostics list, it just calls `hide` and then returns, which is
exactly what `reset` does right now.
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | |
| | | |
| | | |
| | | | |
`pad_left` and `pad_right` are unused
List used keys of `opts` in `make_floating_popup_options`
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | | |
- fix tests which accidentally depended on previous session
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
* 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
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Many vim.diagnostic functions expect the user to pass in a namespace id.
This PR allows the user to list active diagnostic namespaces:
```lua
:lua print(vim.inspect(vim.diagnostic.get_namespaces()))
{
[7] = {
name = "vim.lsp.client-1",
opts = {},
sign_group = "vim.diagnostic.vim.lsp.client-1"
}
}
```
|
| | |
| | |
| | |
| | | |
This feature was added in #15785, but the docs for
vim.diagnostic.config() weren't updated.
|
|\ \ \
| | | |
| | | | |
fix: include ci/ in exported tarball
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
src/nvim/testdir/runnvim.sh re-uses the test suite code from ci/ to
cleanup the output of legacy tests.
Closes #15856
[skip ci]
|
|\ \ \ \
| | | | |
| | | | | |
refactor: update path to xdiff in comments
|
| | |/ /
| |/| | |
|
|\ \ \ \
| | | | |
| | | | | |
refactor: remove PVS comment on top of files
|
| |/ / /
| | | |
| | | |
| | | |
| | | | |
The xdiff directory is excluded from the PVS report so the comment isn't
required.
|
|\ \ \ \
| |/ / /
|/| | | |
docs: update preferred commit message style for the static analyzer PRs
|