| Commit message (Collapse) | Author | Age |
|
|
| |
Co-authored-by: marvim <marvim@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Co-authored-by: Brede Yabo Sherling Kristensen <bredeyabo@hotmail.com>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Co-authored-by: István Donkó <istvan.donko@gmail.com>
Co-authored-by: Julian Berman <Julian@GrayVines.com>
Co-authored-by: bryant <bryant@users.noreply.github.com>
Co-authored-by: Michael Lingelbach <m.j.lbach@gmail.com>
Co-authored-by: nlueb <9465658+nlueb@users.noreply.github.com>
Co-authored-by: Leonhard Saam <leonhard.saam@yahoo.com>
Co-authored-by: Jesse Wertheim <jaawerth@gmail.com>
Co-authored-by: dm1try <me@dmitry.it>
Co-authored-by: Jakub Łuczyński <doubleloop@o2.pl>
Co-authored-by: Louis Lebrault <louis.lebrault@gmail.com>
Co-authored-by: Brede Yabo Sherling Kristensen <bredeyabo@hotmail.com>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Co-authored-by: István Donkó <istvan.donko@gmail.com>
Co-authored-by: Julian Berman <Julian@GrayVines.com>
Co-authored-by: bryant <bryant@users.noreply.github.com>
Co-authored-by: Michael Lingelbach <m.j.lbach@gmail.com>
Co-authored-by: nlueb <9465658+nlueb@users.noreply.github.com>
Co-authored-by: Leonhard Saam <leonhard.saam@yahoo.com>
Co-authored-by: Jesse Wertheim <jaawerth@gmail.com>
Co-authored-by: dm1try <me@dmitry.it>
Co-authored-by: Jakub Łuczyński <doubleloop@o2.pl>
Co-authored-by: Louis Lebrault <louis.lebrault@gmail.com>
|
|
|
|
|
|
| |
* str_utfindex checks number of arguments only, but ignores the case in
which the second argument is an explicit nil. Previously this required
dropping the second argument entirely.
* Modify the C binding to explicitly check if the second argument is nil
|
|
|
|
|
|
| |
Problem: objc file detected as Octave. (Antony Lee)
Solution: Detect objc by preprocessor lines. (Doug Kearns, closes vim/vim#9223,
closes vim/vim#9220)
https://github.com/vim/vim/commit/7329cfab36356c48edab7ed68f6244eb9e20a5b1
|
|
|
|
|
| |
Problem: Unused runtime file.
Solution: Remove rgb.txt.
https://github.com/vim/vim/commit/309ce251897512d42da2b0df0ff100dc303e688a
|
|
|
|
|
|
| |
Problem: After a put the '] mark is on the last byte of a multi-byte
character.
Solution: Move it to the first byte. (closes vim/vim#9047)
https://github.com/vim/vim/commit/4d07253a485819b3a9fd923d263e722ea2109c12
|
|
|
|
|
| |
vim.deepcopy previously didn't retain metatables in copies
and caused stackoverflow on recursive tables/cycled tables this
fixes these issues
|
|
|
| |
Co-authored-by: Mathias Fussenegger <f.mathias@zignar.net>
|
| |
|
| |
|
|
|
|
|
|
|
| |
This allows users to hook into diagnostic events with finer granularity
(e.g. per-buffer or file).
BREAKING CHANGE: DiagnosticsChanged and LspDiagnosticsChanged user
autocommands are removed.
|
|
|
|
|
|
|
|
| |
Previously, the built-in language server client checked if the first
argument of cmd was executable via vim.fn.executable. This ignores PATH
injected via cmd_env. Instead, we now start the client via uv.spawn, and
handle the failure mode, reporting the error back to the user.
Co-authored-by: Mathias Fußenegger <mfussenegger@users.noreply.github.com>
|
|\
| |
| | |
fix(diagnostic): line clamping fixes
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Reverts 5b0d8f85fdb705b07143fc4019189a9dcfe3c108.
Diagnostic producers can send diagnostics for buffers that are not
loaded, for which we cannot retrieve the line count to clamp line
numbers. This means that some diagnostics in the quickfix list could be
line-clamped and others not. The quickfix list can already handle line
numbers past the end of the buffer (i.e. it *already* clamps line
numbers) so just use the "raw" diagnostic positions sent from the
producer.
|
| | |
|
| |
| |
| |
| |
| |
| | |
Fixes a bug when `get_diagnostics` is called with a nil `bufnr`.
Diagnostics should be clamped for the buffer they reside in, not the
current buffer.
|
|/
|
|
|
| |
Floating windows opened by `goto_next` and `goto_prev` should not be
focused when repeating the `goto_` function. The float can still be
focused by calling `open_float` with `scope = "cursor"`.
|
| |
|
| |
|
|
|
|
| |
fixes #11877
credit: @zubairabid https://github.com/neovim/neovim/pull/12010
|
|\
| |
| | |
build(deps): bump tree-sitter,treesitter-c to v0.20.1 and adapt tests
|
| |
| |
| |
| |
| | |
Change query to include anonymous nodes (`(_)` -> `[_]`) and
use new syntax (`{vim,lua}.match?`->`#{vim,lua}.match?`)
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
04bfd20bb introduced a subtle bug where using 0 as the buffer number in
the diagnostic cache resets the cache for the current buffer. This
happens because we were not checking to see if the _resolved_ buffer
number already existed in the cache; rather, when the __index metamethod
was called we assumed the index did not exist so we set its value to an
empty table. The fix for this is to check `rawget()` for the resolved
buffer number to see if the index already exists.
However, the reason this bug was introduced in the first place was
because we are simply being too clever by allowing a 0 buffer number as
the index which is automatically resolved to a real buffer number.
In the interest of minimizing metatable magic, remove this "feature" by
requiring the buffer number index to always be a valid buffer. This
ensures that the __index metamethod is only ever called for non-existing
buffers (which is what we wanted originally) as well as reduces some of
the cognitive overhead for understanding how the diagnostic cache works.
The tradeoff is that all public API functions must now resolve 0 buffer
numbers to the current buffer number.
|
| |
| |
| |
| | |
* internally represent no workspaceFolders as nil instead of vim.NIL
* rename workspaceFolders -> workspace_folders for consistency
|
| |
| |
| |
| |
| |
| | |
The phrase referred specifically to `$VIMINIT` and `$EXRC`, which
are parsed (and available with, e.g., `echo $VIMINIT` if set) but
of course not loaded since _any_ initialization is skipped. Hence
this is redundant and can be misleading.
|
|/
|
|
| |
Update runtime files
https://github.com/vim/vim/commit/88a4205f1cfbdc328e987ab00521fc8a22447fc3
|
|\
| |
| | |
vim-patch:8.2.{2518,2520,3572,3588}: 'listchars' (and 'fillchars'?) fixes
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Break statement is never reached.
Solution: Rely on return value of set_chars_option() not changing.
(closes vim/vim#9103)
https://github.com/vim/vim/commit/606efc7df4c94104bbd24248106dd0e4ee6f7cfa
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Memory leak when closing window and using "multispace" in
'listchars'.
Solution: Free the memory. (closes vim/vim#9071)
https://github.com/vim/vim/commit/7a33ebfc5b04353aa7674972087d581def8fdcc1
|
| |
| |
| |
| |
| |
| | |
Problem: Missing tests for 'listchars'.
Solution: Add a few more checks. (Yegappan Lakshmanan, closes vim/vim#7854)
https://github.com/vim/vim/commit/04ea7e9049706788179945e2a91922c0b7cb9ed0
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: 'listchars' should be window-local.
Solution: Make 'listchars' global-local. (Yegappan Lakshmanan, Marco Hinz,
closes vim/vim#5206, closes vim/vim#7850)
https://github.com/vim/vim/commit/eed9d46293f0842aad0d50ff3a526f9a48b12421
Nvim already has this feature, but it implements :set listchars the same
as :setglobal listchars, which is incorrect. Vim's implementation of
:set listchars is correct: using :set listchars clears local value.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
vim-patch:8.2.3627: difficult to know where the text starts in a window
Problem: difficult to know where the text starts in a window. (Sergey
Vlasov)
Solution: Add the "textoff" entry in the result of getwininfo().
(closes vim/vim#9163)
https://github.com/vim/vim/commit/cdf5fdb2948ecdd24c6a1e27ed33dfa847c2b3e4
Fix indent in Test_getbufwintabinfo().
|
|\ \
| | |
| | | |
vim-patch:8.2.2922,8.2.3639
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Line commented out accidentally.
Solution: Uncomment. (Volodymyr Kot, closes vim/vim#9172)
https://github.com/vim/vim/commit/7f0c4b418e01d6e056a74de2f22fcbad613b7591
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Computing array length is done in various ways.
Solution: Use ARRAY_LENGTH everywhere. (Ken Takata, closes vim/vim#8305)
https://github.com/vim/vim/commit/eeec2548785b2dd245a31ab25d7bde0f88ea1a6d
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Errors were being caused by invalid buffers being kept around in
diagnostic_cache, so add a metatable to diagnostic_cache which attaches
to new buffers in the cache, removing them after they are invalidated.
Closes #16391.
Co-authored-by: Gregory Anders <8965202+gpanders@users.noreply.github.com>
|
|\ \ \
| | | |
| | | | |
vim-patch:8.2.{3468,3617,3618,3622}: some other CWD related patches
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: "verbose pwd" shows confusing info when :lcd does not change
directory.
Solution: Clear last_chdir_reason also when the directory does not change.
(closes vim/vim#9160)
https://github.com/vim/vim/commit/64be6aa3a54ecfe355d4a03e1200650c301e7f29
This only ports the tests, as this is already Nvim's behavior.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: getcwd() is unclear about how 'autochdir' is used.
Solution: Update the help for getcwd(). Without any arguments always return
the actual current directory. (closes vim/vim#9142)
https://github.com/vim/vim/commit/851c7a699ae00bdc14a4db874cf722b7b7393b53
|
| | | |
| | | |
| | | |
| | | | |
Vim has a solution to #9892 with fewer side-effects in patch 8.2.3618
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: ":verbose pwd" does not mention 'autochdir' was applied.
Solution: Remember the last chdir was done by 'autochdir'. (issue vim/vim#9142)
https://github.com/vim/vim/commit/0526815c15170a5926e1008600ec29d42d8b64c2
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Problem with :cd when editing file in non-existent directory. (Yee
Cheng Chin)
Solution: Prepend the current directory to get the full path. (closes vim/vim#8903)
https://github.com/vim/vim/commit/c6376c798433bcb9ee38a8664299d11454546950
|
|\ \ \ \ |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The current 'clamp_line_numbers' implementation modifies diagnostics in
place, which can have adverse downstream side effects. Before clamping
line numbers, make a copy of the diagnostic. This commit also merges the
'clamp_line_numbers' method into a new 'get_diagnostics' local function
which also implements the more general "get" method. The public
'vim.diagnostic.get()' API now just uses this function (without
clamping). This has the added benefit that other internal API functions
that need to use get() no longer have to go through vim.validate.
Finally, reorganize the source code a bit by grouping all of the data
structures together near the top of the file.
|