This introduces a `suffix` option to the `virt_text` config in
`vim.diagnostic.config()`. The suffix can either be a string which is appended
to the diagnostic message or a function returning such. The function receives a
`diagnostic` argument, which is the diagnostic table of the last diagnostic (the
one whose message is rendered as virt text).
Closes#18687
This introduces a `suffix` option to `vim.diagnostic.open_float()` (and
consequently `vim.diagnostic.config()`) that appends some text to each
diagnostic in the float.
It accepts the same types as `prefix`. For multiline diagnostics, the suffix is
only appended to the last line. By default, the suffix will render the
diagnostic error code, if any.
Problem: WinScrolled may trigger immediately when defined.
Solution: Initialize the fields in all windows. (closesvim/vim#11582)
2996773276
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Only a change in the current window triggers the WinScrolled
event.
Solution: Trigger WinScrolled if any window scrolled or changed size.
(issue vim/vim#11576)
0a60f79fd0
Skip locking of window layout and E1312.
Copy the latest version of all WinScrolled tests from Vim.
Note: patch 9.0.0915 is needed for the Lua tests to pass.
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Language servers can take some time to respond to the
`textDocument/hover` and `textDocument/signatureHelp` messages. During
that time, the user could have already moved to another buffer. The
popup was always shown in the current buffer, which could be a different
one than the buffer for which the request was sent.
This was particularly annoying when moving to a buffer with a `BufLeave`
autocmd, as that autocmd was triggered when the hover popup was shown
for the original buffer.
Ignoring the response from these 2 messages if they are for a buffer
that is not the current one leads to less noise. The popup will only be
shown for the buffer for which it was requested.
A more robust solution could involve cancelling the hover/signatureHelp
request if the buffer changes so the language server can free its
resources. It could be implemented in the future.
Problem: Edit test for mode message fails when using valgrind.
Solution: Use WaitForAssert(). Run beep test later.
c5382b667a
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Invalid memory access when using an expression on the command line.
Solution: Make sure the position does not go negative.
6046aded8d
N/A patches for version.c:
vim-patch:8.2.5149: cannot build without the +eval feature
Problem: Cannot build without the +eval feature. (Tony Mechelynck)
Solution: Add #ifdefs.
6689df024b
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: get(Fn, 'name') on funcref returns special byte code.
Solution: Use the printable name.
1ae8c262df
Cherry-pick printable_func_name() from patch 8.2.0149.
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Several lines of code are duplicated.
Solution: Move duplicated code to a function. (Yegappan Lakshmanan,
closesvim/vim#5330)
f4140488c7
Using sizeof seems better than ARRAY_SIZE for vim_snprintf().
Problem: Linear tag search is not optimal.
Solution: Improve linear tag search performance. (Yegappan Lakshmanan,
closesvim/vim#9944)
b29b96806f
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Problem: Linear tag search is a bit slow.
Solution: Remove a vim_ftell() call. (Yegappan Lakshmanan, closesvim/vim#9937)
8b530b3158
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Problem: Coverity warning for refactored tag search code.
Solution: Avoid the warnings. Update comments. Add one more test case.
(Yegappan Lakshmanan, closesvim/vim#9928)
20fb28b1dc
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Problem: The find_tags_in_file() function is too long.
Solution: Refactor into smaller functions. (Yegappan Lakshmanan,
closesvim/vim#9920)
bf40e90dfe
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Problem: The binary tag search feature is always enabled.
Solution: Remove the #ifdefs. Add a few more tests. (Yegappan Lakshmanan,
closesvim/vim#9893)
655b734ee8
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Problem: The find_tags_in_file() function is much too long.
Solution: Refactor into multiple smaller functions. (Yegappan Lakshmanan,
closesvim/vim#9892)
df1bbea436
Cherry-pick Test_tag_file_encoding() changes from patch 8.2.1432.
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Problem: The find_tags() function is much too long.
Solution: Refactor the function. (Yegappan Lakshmanan, closesvim/vim#9869)
2f87a99b6e
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Problem: When a tags file line is long a tag may not be found.
Solution: When increasing the buffer size read the same line again.
f8e9eb8e17
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Clinical Quality Language files are not recognized.
Solution: Add the "*.cql" pattern. (Matthew Gramigna, closesvim/vim#11452)
12babe45a3
Co-authored-by: mgramigna <mgramigna@mitre.org>
This function accepts a path to a file and prompts the user if the file
is trusted. If the user confirms that the file is trusted, the contents
of the file are returned. The user's decision is stored in a trust
database at $XDG_STATE_HOME/nvim/trust. When this function is invoked
with a path that is already marked as trusted in the trust database, the
user is not prompted for a response.
Problem: Recover test may fail on some systems.
Solution: Adjust the little endian and 64 bit detection. (James McCoy,
closesvim/vim#8941)
37f341d723
Co-authored-by: James McCoy <jamessan@jamessan.com>