| Commit message (Collapse) | Author | Age |
... | |
|/ / |
|
| |
| |
| |
| | |
This assignment is informative/documenting though technically unnecessary.
https://github.com/neovim/neovim/pull/11900#discussion_r381860165 .
|
| |
| |
| |
| |
| | |
b_signcols_max isn't used to store the max value, it is use to
invalidate b_signcols.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Crash when using "quit" at recovery prompt and autocommands are
triggered.
Solution: Block autocommands when creating an empty buffer to use as the
current buffer. (closes vim/vim#8506)
https://github.com/vim/vim/commit/1d97efce0ce31ddf0dd4c1ae2228ef4caee6880c
|
| |
| |
| |
| |
| |
| | |
Problem: tablabel_tooltip test fails with Athena. (Dominique Pellé)
Solution: Skip the test when using Athena. (closes vim/vim#8508)
https://github.com/vim/vim/commit/fb773a3e0aa9466bb953c29bad0bf4ba34461a40
|
| |
| |
| |
| |
| |
| |
| | |
Problem: With 'virtualedit' set to "block" Visual highlight is wrong after
using "$". (Marco Trosi)
Solution: Do not set w_old_cursor_lcol to MAXCOL. (closes vim/vim#8495)
https://github.com/vim/vim/commit/9cee4a1c9c69542ccd73bcd2db05920150856361
|
| |
| |
| |
| |
| |
| | |
Problem: Gemtext files are not recognized.
Solution: Recognize .gmi and .gemini files. (closes vim/vim#8427)
https://github.com/vim/vim/commit/fcde67c99fbb6d7294e01b9e87d8d2ae7af31255
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: JSONC files are not recognized.
Solution: Recognize .jsonc files. (Izhak Jakov, closes vim/vim#8500)
https://github.com/vim/vim/commit/acbb4b5720fc27b8b07357b763ed4e5a944ae1da
N/A patches for version.c:
vim-patch:8.2.3081: cannot catch errors in a channel command
Problem: Cannot catch errors in a channel command.
Solution: Instead of skipping the error make it silent. (closes vim/vim#8477)
https://github.com/vim/vim/commit/11a632d60bde616feb298d180108819ebb1d04a0
vim-patch:8.2.3082: a channel command "echoerr" does not show anything
Problem: A channel command "echoerr" does not show anything.
Solution: Do not use silent errors when using an "echoerr" command.
(closes vim/vim#8494)
https://github.com/vim/vim/commit/b836f631dba2534efd314a8f77439cebc75acd4e
vim-patch:8.2.3094: Test_popup_atcursor_pos() fails without the conceal feature
Problem: Test_popup_atcursor_pos() fails without the conceal feature.
Solution: Add a check for the conceal feature. (Dominique Pellé,
closes vim/vim#8505)
https://github.com/vim/vim/commit/c60e959cba03fae9cff9b2674fab646cc70819fc
vim-patch:8.2.3098: popup window test is flaky on MS-Windows with GUI
Problem: Popup window test is flaky on MS-Windows with GUI.
Solution: Skip the check in this situation.
https://github.com/vim/vim/commit/999db2346b61e6f6e6fde2d0b56f4646a46b727d
|
| | |
|
| |
| |
| |
| | |
long_u was a custom integer type that is no longer used.
More information can be found in https://github.com/neovim/neovim/issues/459.
|
| |
| |
| |
| |
| | |
The warning is triggered by the second division when arr is a char array
since sizeof(char) is 1. A modulo by 1 may normally indicate a logic
error, but in this case it's intended.
|
| | |
|
| | |
|
|\ \
| | |
| | | |
fix(api/win_get_config): include z-index
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Revert "tui: improve support for tmux, GNU Screen"
This reverts commit c266c2f36ea56220268d2b19364e28815e338c2f.
This commit broke neovim under tmux, where it "types" the background
string as input to the terminal. Fixing this with neovim as-is requires
changing tmux keybindings or TERM settings, which has to be done by
every single user, therefore a fix should happen on neovim's side.
Fixes #14298
* tui: fix code lints.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: The wininfo list may contain stale entries.
Solution: When closing a window remove any other entry where the window
pointer is NULL.
https://github.com/vim/vim/commit/4882d983397057ea91c584c5a54aaccf15016d18
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: The "zy" command does not work well when 'virtualedit' is set to
"block". (Johann Höchtl)
Solution: Make endspaces zero. (Christian Brabandt, closes vim/vim#8468,
closes vim/vim#8448)
https://github.com/vim/vim/commit/7d7bcc6ba01454c1cbb1dcbf5f11c3a4051535d6
N/A patches for version.c:
vim-patch:8.2.3075: xxd always reports an old version string
Problem: Xxd always reports an old version string. (Åsmund Ervik)
Solution: Update the version string with the last known change date.
(Jürgen Weigert, closes vim/vim#8475)
https://github.com/vim/vim/commit/80b2ba3e9602e09ab523e78946fbb26da311b68b
|
|\ \ \
| | | |
| | | | |
fixup(ts): put ts_query_cursor_set_match_limit behind feature guard
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This is a fixup for #14915, which used the above-mentioned call to
restore the behavior of the pre-release version of tree-sitter to
that of 0.19.5. However, this function was introduced after 0.19.5,
breaking distro builds that link against 0.19.5 instead of the tag
specified in neovim's build script.
Now the function should only be called when it is available _and_
needed. Once tree-sitter is bumped to 0.19.6 (when this is released),
this guard can be removed again.
Fixes #14923 (among others)
|
|\ \ \ \
| | | | |
| | | | | |
An assortment of various vim.opt fixups.
|
| |/ / / |
|
|\ \ \ \
| |/ / /
|/| | | |
Extmarks: manually zero out `curbuf->deleted_bytes2` on substitute and join
|
| | |/
| |/| |
|
|\ \ \
| | | |
| | | | |
fix(treesitter): set match limit for query cursors
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Upstream tree-sitter raised the number of pending matches for a query cursor
from 32 to 64k in <https://github.com/tree-sitter/tree-sitter/commit/
78010722a49ed6224c773c22b0d25a8c9fbde584>, which severely impacted performance
for some highlighting queries. This uses the `ts_query_cursor_set_match_limit`
function introduced in <https://github.com/tree-sitter/tree-sitter/commit/
cd96552448a6e0d4eb27fc54b27cb5130c4b6f76> to manually set this back to the old
default of 32.
Fixes #14897
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* Add buffer information to tabline_update
Most terminal implementations of the tabline display buffer and tab
information. Many neovim-qt users disable GuiTabline because it lacks
functionality provided in the terminal implementation.
The tabline_update event should include buffer information too, so client GUIs
can display rich useful tabs.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Short file name extension for Scala not recognized.
Solution: Recognize *.sc. (closes vim/vim#8337)
https://github.com/vim/vim/commit/6db7b6375a3ea3afef5295b1366896902012e640
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: JSON patch file not recognized.
Solution: Recognize json-patch as json. (Kevin Locke, closes vim/vim#8450)
https://github.com/vim/vim/commit/6582e230a0f6592287b1123c5fc3807d6fed997e
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Cannot recognize elixir files.
Solution: Recognize Elixir-specific files. Check if an .ex file is Euphoria
or Elixir. (Austin Gatlin, closes vim/vim#8401, closes vim/vim#8446)
https://github.com/vim/vim/commit/f3caeb63d62c08b579e9b5f40b35e8bf64dde87a
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
buffers (#14865)
Problem: Formatting using quickfixtextfunc is lost when updating location
lists for different buffers. (Yorick Peterse)
Solution: Use the right window for the locaiton list. (Yegappan Lakshmanan,
closes vim/vim#8400, closes vim/vim#8403)
https://github.com/vim/vim/commit/ad52f96a2d3169cb1b915c1d4a6ba26ba6e5bd0a
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Can modify a:000 when using a reference.
Solution: Make check for locked variable stricter. (Ozaki Kiichi,
closes vim/vim#3930)
https://github.com/vim/vim/commit/05c00c038bc16e862e17f9e5c8d5a72af6cf7788
|
|/ / /
| | |
| | |
| | |
| | |
| | | |
It is wrong to assume that you can't shorten a path if it's in `/`: you
can always shorten it by removing the forward slash.
Closes #14512
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: No error when using alpha delimiter with :global.
Solution: Check the delimiter like with :substitute. (closes vim/vim#8415)
https://github.com/vim/vim/commit/419a40ac9657e39646b2e0f3f71d7736b0c459d1
N/A patches for version.c:
vim-patch:8.1.2391: cannot build when __QNXNTO__ is defined
Problem: Cannot build when __QNXNTO__ is defined. (Ian Wayne Larson)
Solution: Move the check for "qansi". (Ken Takata, closes vim/vim#5317)
https://github.com/vim/vim/commit/c95e8d649045add4e77b423bc159dc0d845af559
vim-patch:8.2.2294: VMS: a few remaining problems
Problem: VMS: a few remaining problems.
Solution: Add VMS specific changes. Add Lua support. (Zoltan Arpadffy)
https://github.com/vim/vim/commit/82c38fe508155c11a904e6111b5bfb6adde3fb9a
vim-patch:8.2.3034: installing packages on github CI sometimes fails
Problem: Installing packages on github CI sometimes fails.
Solution: Update package information first. (Christian Brabandt,
closes vim/vim#8432)
https://github.com/vim/vim/commit/ef7be8348fd830e409504a442f3f3ad0931cfbc3
vim-patch:8.2.3037: configure reports libcanberra when checking for libsodium
Problem: Configure reports libcanberra when checking for libsodium.
Solution: Adjust the message. (Ozaki Kiichi, closes vim/vim#8435)
https://github.com/vim/vim/commit/8ce3ca8961c5968a02de0a0b98f906695331f254
vim-patch:8.2.3038: Amiga built-in version string doesn't include build date
Problem: Amiga built-in version string doesn't include build date.
Solution: Add the build date if available. (Ola Söder, closes vim/vim#8437)
https://github.com/vim/vim/commit/cc6504098605f894b557109b618e88913a89914b
vim-patch:8.2.3043: Amiga: cannot get the shell size on MorphOS and AROS
Problem: Amiga: cannot get the shell size on MorphOS and AROS.
Solution: Use control sequences. (Ola Söder, closes vim/vim#8438)
https://github.com/vim/vim/commit/d415d269130b233c0f198c75cc159bee721aa55c
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: BufUnload is not triggered for the quickfix dummy buffer.
Solution: Do trigger BufUnload. (Pontus Leitzler,closes vim/vim#7518, closes vim/vim#7517)
Fix white space around "=".
https://github.com/vim/vim/commit/1cfb9bb5c06c07f14475f39c4eb57fea1f0dfb69
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Cannot use a lambda with quickfix functions.
Solution: Add support for lambda. (Yegappan Lakshmanan, closes vim/vim#6499)
https://github.com/vim/vim/commit/d43906d2e5969288f239df851f5ad7b1dc2c7251
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Code to handle callbacks is duplicated.
Solution: Add callback_T and functions to deal with it.
https://github.com/vim/vim/commit/3a97bb3f0f8bd118ae23f1c97e55d84ff42eef20
Port Vim's put_callback() as callback_put()
because Neovim's naming convention is {type}_{action},
not {action}_{type}.
Renaming put_callback type as PutCallback.
https://neovim.io/develop/style-guide.xml#Type_Names
|
|\ \ \
| | | |
| | | | |
fix(runtime): Fix bugs regarding lua runtime files
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
It's happening because do_source is only expected to return FAIL when it
was unable to open file . But `nlua_exec_file` returns fail for parsing
and execution error too . Those errors are emitted through `nlua_error`.
So now return value of nlua_exec_file is ignored like do_cmdline. It now
only returns fail when it was unable to open file that check is done
before calling nlua_exec_file or do_cmdline. Errors in nlua_exec_file
are still directly emitted through nlua_error like before.
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | | |
When a keymap is set from lua currently verbose message says
it's set from line 1. That's incorrect because we don't really know when
it was set. So until proper :verbose support isn't added for sourceing
lua it shouldn't say where it was set at.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
As per #14236, performing extmark cleanup in a certain namespace does
not guarantee removing all the extmarks inside given namespace.
The issue resides within the tree node removal method and results in
a couple of rare edge cases.
To demonstrate what causes this bug, I'll give an example covering one
of the edge cases.
=== AN EXAMPLE ===
(A) (B) (C) (D) (E)
--------- --------- --------- --------- ---------
<0, 1> <0, 1> <0, 1> <0, 1> <0, 1>
<0, 2> <0, 2> <0, 2> <0, 2> <0, 2>
<0, 3> <0, 3> <0, 3> <0, 3> <0, 3>
<0, 4> <0, 4> <0, 4> <0, 4> <0, 4>
<0, 5> <0, 5> <0, 5> <0, 5> <0, 5>
<0, 6> <0, 6> <0, 6> <0, 6> <0, 6>
<0, 7> <0, 7> <0, 7> <0, 7> <0, 7>
<0, 8> <0, 8> <0, 8> <0, 8> <0, 8>
<0, 9> <0, 9> * * <0, 9> * <0, 9>
[0, 10] * [0, 10] <0, 9> [0, 11] [0, 11]
[0, 11] [0, 11] [0, 11] [0, 12] [0, 12] *
[0, 12] [0, 12] [0, 12] [0, 13] [0, 13]
[0, 13] [0, 13] [0, 13] [0, 14] [0, 14]
[0, 14] [0, 14] [0, 14] [0, 15] [0, 15]
[0, 15] [0, 15] [0, 15] [0, 16] [0, 16]
[0, 16] [0, 16] [0, 16] [0, 17] [0, 17]
[0, 17] [0, 17] [0, 17] [0, 18] [0, 18]
[0, 18] [0, 18] [0, 18] [0, 19] [0, 19]
[0, 19] [0, 19] [0, 19] [0, 20] [0, 20]
[0, 20] [0, 20] [0, 20]
DIAGRAM EXPLANATION
* Every column is a state of the marktree at a certain stage.
* To make it simple, I don't draw the whole tree. What you see are
2 leftmost parent nodes ([0, 10], [0, 20]) and their children placed
in order `MarkTreeIter` would iterate through. From top to bottom.
* Numbers on this diagram represent extmark coordinates. Relative
positioning and actual mark IDs used by the marktree are avoided
for simplicity.
* 2 types of brackets around coordinates represent 2 different
extmark namespaces (`ns_id`s).
* '*' shows iterator position.
ACTUAL EXPLANATION
Let's assume, we have two sets of extmarks from 2 different plugins:
* Plugin1: <0, 1-9>
* Plugin2: [0, 10-20]
1. Plugin2 calls
`vim.api.nvim_buf_clear_namespace(buf_handle, ns_id, 0, -1)`
to clear all its extmarks which results in `extmark_clear` call.
2. The iteration process goes on ignoring extmarks with irrelevant
`ns_id` from Plugin1, until it reaches [0, 10], entering state (A).
3. At the end of cleaning up process, `marktree_del_itr` gets called.
This function is supposed to remove given node and, if necessary,
restructure the tree. Also, move the iterator to the next node.
The bug occurs in this function.
4. The iterator goes backwards to the node's last child, to put it
in the place of its deleted parent later. (B)
5. The parent node is deleted and replaced with its child node. (C)
6. Since now this node has 8 children, which is less than
`MT_BRANCH_FACTOR - 1`, it get's merged with the next node. (D)
7. Finally, since at (B) the iterator went backward, it goes forward
twice, skipping [0, 11] node, causing this extmark to persist,
causing the bug. (E)
ANALYSIS AND SOLUTION
The algorithm works perfectly when the parent node gets replaced by
its child, but no merging occurs. I.e. the exact same diagram,
but without the (D) stage. If not for (D), it would iterate to <0, 9>
and then to [0, 11]. So, iterating twice makes sense. The actual problem
is in (C) stage, because the iterator index isn't adjusted and still
pointing to no longer existent node. So my solution is to adjust
iterator index after removing the child node.
More info: https://github.com/neovim/neovim/pull/14719
|
|/ /
| |
| |
| |
| | |
Problem: Unreachable code.
Solution: Remove the code. (closes vim/vim#8406)
https://github.com/vim/vim/commit/2fb749568662c86992aea3b596458b9e470f223d
|
|\ \
| | |
| | | |
perf(extmarks): allow ephemeral extmarks past EOF to remove O(strlen^2) cost of tree-sitter
|
| | | |
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
reversed (#14839)
Problem: When 'rightleft' is set the line number is sometimes drawn
reversed.
Solution: Adjust how space is handled. (Christian Brabandt, closes vim/vim#8389,
closes vim/vim#8391)
https://github.com/vim/vim/commit/29f0dc3689eafcf7888e06d57d1cf79e62c5c148
|
|\ \
| | |
| | | |
screen: fix typo in screen.c
|
| | |
| | |
| | | |
accomodate -> accommodate
|
| | |
| | |
| | | |
seperated -> separated
|
|\ \ \
| | | |
| | | | |
[RDY] feat(float): add rounded borders preset
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Add `borders = "rounded"` preset for `nvim_open_win`, equivalent to
border = {"╭", "─", "╮", "│", "╯", "─", "╰", "│"}
Also add undocumented "solid" preset to docs.
|