| Commit message (Collapse) | Author | Age |
... | |
| |\ \
| | | |
| | | | |
vim-patch: line shifting fixes
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: various vartabstop and shiftround bugs when shifting lines
Solution: Fix the bugs, add new tests for shifting lines in various ways
(Gary Johnson)
fixes: vim/vim#14891
closes: vim/vim#16193
https://github.com/vim/vim/commit/eed63f96d26723ff31a9728647eed526d06a553d
Co-authored-by: Gary Johnson <garyjohn@spocom.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: INT overflow logic can be simplified
Solution: introduce trim_to_int() function
closes: vim/vim#13556
https://github.com/vim/vim/commit/2b0882fa6555b4d0197afbdfc32a4533cf6aacf4
vim-patch:9.0.2138: Overflow logic requires long long
Problem: Overflow logic requires long long
Solution: Define vimlong_T data type to make life easier
for porters
closes: vim/vim#13598
https://github.com/vim/vim/commit/fda700cb04612fe2f9301a9ba820309175decabf
Cherry-pick ops.c change from patch 9.1.0608.
Co-authored-by: Ernie Rael <errael@raelity.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: [security]: prevent overflow in indenting
Solution: use long long and remove cast to (int)
The shiftwidth option values are defined as being long. However, when
calculating the actual amount of indent, we cast down to (int), which
may cause the shiftwidth value to become negative and later it may even
cause Vim to try to allocate a huge amount of memory.
We already use long and long long variable types to calculate the indent
(and detect possible overflows), so the cast to (int) seems superfluous
and can be safely removed. So let's just remove the (int) cast and
calculate the indent using longs.
Additionally, the 'shiftwidth' option value is also used when determining
the actual 'cino' options. There it can again cause another overflow, so
make sure it is safe in parse_cino() as well.
fixes: vim/vim#13554
closes: vim/vim#13555
https://github.com/vim/vim/commit/3770574e4a70e810add9929973c51f9070c8c851
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Coverity warns for another overflow in shift_line()
Solution: Test for INT_MAX after the if condition, cast integer values
to (long long) before multiplying.
https://github.com/vim/vim/commit/22a97fc241361aa91bda84e5344d5b7c0cda3e81
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: [security]: overflow in shift_line
Solution: allow a max indent of INT_MAX
[security]: overflow in shift_line
When shifting lines in operator pending mode and using a very large
value, we may overflow the size of integer. Fix this by using a long
variable, testing if the result would be larger than INT_MAX and if so,
indent by INT_MAX value.
Special case: We cannot use long here, since on 32bit architectures (or
on Windows?), it typically cannot take larger values than a plain int,
so we have to use long long count, decide whether the resulting
multiplication of the shiftwidth value * amount is larger than INT_MAX
and if so, we will store INT_MAX as possible larges value in the long
long count variable.
Then we can safely cast it back to int when calling the functions to set
the indent (set_indent() or change_indent()). So this should be safe.
Add a test that when using a huge value in operator pending mode for
shifting, we will shift by INT_MAX
closes: vim/vim#13535
https://github.com/vim/vim/commit/6bf131888a3d1de62bbfa8a7ea03c0ddccfd496e
Skip the test for now, as it takes too long and requires other fixes.
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| | |
| | |
| | |
| | | |
- classes for v:event and v:completed_item
- add remaining unknown types
|
| | |
| | |
| | | |
The variables are not marked as advanced, thus they appear in e.g. `ccmake`.
|
| | | |
|
| |\ \
| | | |
| | | | |
vim-patch: netrw fixes
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
netrw_browsex_viewer for being executable
fixes: vim/vim#16185
https://github.com/vim/vim/commit/92b36663f8d0e507f60f357c6add6f6c9148a951
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
programs in gvim
On Debian 12 when detaching the program wouldn't launch at all
closes: vim/vim#16168
https://github.com/vim/vim/commit/eda923e9c9e639bc4f02b8b3ead1e7d27981e552
Co-authored-by: Konfekt <Konfekt@users.noreply.github.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: GVim: default font size a bit too small
Solution: increase guifont size to 12 pt on GTK builds
of gVim (matveyt).
fixes: vim/vim#16172
closes: vim/vim#16178
https://github.com/vim/vim/commit/ad3b6a3340a4ab02c1e5bc4a6d6a5fb858b671d3
Co-authored-by: matveyt <matthewtarasov@yandex.ru>
|
| | |
| | |
| | |
| | |
| | | |
Not essential, but adds robustness and hardening for future
changes.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: no error check for neg values for 'messagesopt'
(after v9.1.0908)
Solution: add additional error checks and tests (h-east)
closes: vim/vim#16187
https://github.com/vim/vim/commit/65be834c30fb43abb2e41585b41eefcd2ae06c01
Nvim's getdigits() checks for overflow, so the code change isn't needed.
Co-authored-by: h-east <h.east.727@gmail.com>
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
closes: vim/vim#16144
https://github.com/vim/vim/commit/336fb22eaef7977741712d0c4735fc6d65428a4f
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
closes: vim/vim#16177
https://github.com/vim/vim/commit/41afa308d6f420504c47567b494e97a6721afe71
Co-authored-by: h-east <h.east.727@gmail.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
https://github.com/vim/vim/commit/8a52587ee05a360cad4d42322200775fc74a4430
vim-patch:72212c9: runtime(doc): update wrong Vietnamese localization tag
https://github.com/vim/vim/commit/72212c9bea77f14f1e6be703de3c10d70eb2984c
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Since Vietnamese keymaps in Vim is quite differences from the
corresponding input methods, let's document the Vietnamese specifics in
vietnames.txt
related: vim/vim#16144
https://github.com/vim/vim/commit/189e24bb1441abe87387a4e21c4387bbf2eac718
|
| |\ \
| | | |
| | | | |
vim-patch:9.1.{0910,0911}: 'messagesopt' followup
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Variable name for 'messagesopt' doesn't match short name
(after v9.1.0908)
Solution: Change p_meo to p_mopt. Add more details to docs.
closes: vim/vim#16182
https://github.com/vim/vim/commit/8cc43daee1f485c9abf1de3c638cce7835b9f861
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: 'messagesopt' does not check max wait time
(after v9.1.0908)
Solution: Check for max wait value
(Shougo Matsushita)
closes: vim/vim#16183
https://github.com/vim/vim/commit/d9e9f89e0ffd6e7ce5e2a7f8f1ace5471e37c210
Co-authored-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: It is not obvious if a treesitter highlight priority shown in
`:Inspect` is higher or lower than the default.
Solution: Also print default priority (`vim.hl.priorities.treesitter`).
Add padding for better readability.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: :sleep! not hiding the cursor is an arbitrary difference from
Vim without obvious justification, and Vim's behavior isn't
easily achievable in Nvim.
Solution: Make :sleep! hide the cursor while sleeping.
Ref:
https://github.com/neovim/neovim/commit/6a01b3fcc361960e559db459e1524418bc76dd66
https://github.com/neovim/neovim/commit/b5c0ade43790cf18f6a54858ddad30d8d9667cf9
|
| |\ \
| | | |
| | | | |
fix(marks): check gravity at range bounds when deleting text
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Marks that are properly restored by the splice associated with
an undo edit, are unnecessarily pushed to the undo header. This
results in incorrect mark tracking in the "copy_only"
save/restore completion path.
Solution: Avoid pushing left gravity marks at the beginning of the range,
and right gravity marks at the end of the range to the undo
header.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem:
char-wise folding for `#trim!` ranges are improperly calculated for nodes that
end at column 0, due to the way `get_node_text` works.
Solution:
Add the blank line that `get_node_text` removes for for nodes ending at column
0. Also properly set column positions when performing linewise trims.
|
| | | |
| | | |
| | | |
| | | | |
Not used anywhere.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem:
Diagnostics and inlay hints can be expensive to calculate, and we
shouldn't stack them as this can cause noticeable lag.
Solution:
Check for duplicate inflight requests and cancel them before issuing a new one.
This ensures that only the latest request is processed, improving
performance and preventing potential conflicts.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: `:Inspect` does not show priority for treesitter highlights,
leading to confusion why sometimes earlier highlights override later
highlights.
Solution: Also print priority metadata if set.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: not possible to configure :messages
Solution: add the 'messagesopt' option (Shougo Matsushita)
closes: vim/vim#16068
https://github.com/vim/vim/commit/51d4d84d6a7159c6ce9e04b36f8edc105ca3794b
Co-authored-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
Co-authored-by: h_east <h.east.727@gmail.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem:
vim.json.encode escapes every slash in string values (for example in
file paths), and is not optional. Use-case is for preventing HTML
injections (eg. injecting `</script>` closing tag); in the context of
Nvim this is rarely useful.
Solution:
- Add a `escape_slash` flag to `vim.json.encode`.
- Defaults to `false`. (This is a "breaking" change, but more like
a bug fix.)
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: The folding_range request method assumes that the client
supports the method
Solution: Add a capability guard to the call
|
| | | | |
|
| |\ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | | |
The util file, for now, just abstracts the common `run_query` function.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This commit also implements more generic trimming, acting on all
whitespace (charwise) rather than just empty lines.
It will unblock
https://github.com/nvim-treesitter/nvim-treesitter/pull/3442 and allow
for properly concealing markdown bullet markers regardless of indent
width, e.g.
|
| |/ / / |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Paragraph below bulleted list was joined to last list item instead of dropping below as expected. Same with "Notes:" paragraph below it.
Solution: Added necessary newlines.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: When completion leader changes, text that might be reinserted
immediately after is deleted. This unnecessarily affects
extmarks. #31387 restored the original extmarks but that
prevents end_right_gravity marks from growing.
Solution: Avoid deleting leader text that will be reinserted.
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: In an autocommand Lua callback whether `args.file` is expanded
depends on whether `expand('<afile>')` has been called.
Solution: Always use the unexpanded file name for `args.file`.
Related to #31306 and vim/vim#16106. This doesn't provide `sfname`, but
at least makes `args.file` have a consistent value.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: filetype: Nvidia PTX files are not recognized
Solution: detect '*.ptx' files as ptx filetype (Yinzuo Jiang)
Reference: https://docs.nvidia.com/cuda/parallel-thread-execution/
closes: vim/vim#16171
https://github.com/vim/vim/commit/bdb5f85a5189534653f36e92b1bc780ca8d25218
Co-authored-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
filetype.txt (#31459)
closes: vim/vim#16169
https://github.com/vim/vim/commit/ea0e41a1152378358975e5021ea9f5540dabf542
Omit Lua folding.
N/A patch:
vim-patch:fdfcce5: runtime(lua): add optional lua function folding
|
| | |
| | |
| | |
| | |
| | |
| | | |
The old code would always update `_qf_id` with the current quickfix,
even if you're currently looking at a completely different,
non-diagnostics quickfix list. This completely defeats the intent of
<https://github.com/neovim/neovim/pull/30868>, whoops!
|
| | |
| | |
| | | |
- move credits and backers to credits.txt
|
| |\ \ |
|