| Commit message (Collapse) | Author | Age |
... | |
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Deprecate vim.diagnostic.goto_prev() and vim.diagnostic.goto_next() in
favor of a unified vim.diagnostic.jump() interface.
We cannot name the function "goto()" because some of our tooling
(luacheck and stylua) fail to parse it, presumably because "goto" is a
keyword in newer versions of Lua.
vim.diagnostic.jump() also allows moving to a specific diagnostic and
moving by multiple diagnostics at a time (useful for creating mappings
that use v:count).
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem:
`vim.region()` is redundant with `getregionpos()`.
Solution:
Deprecate `vim.region()`.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Problem: if on_lines is called before the LSP is initialized, the buffer
is detached.
Solution: check for uninitialized clients before detaching.
|
| | |
| | |
| | |
| | |
| | |
| | | |
For many small/simple functions (like those found in shared.lua), the
runtime of vim.validate can far exceed the runtime of the function
itself. Add an "overload" to vim.validate that uses a simple assertion
pattern, rather than parsing a full "validation spec".
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem:
1. When interacting with multiple :InspectTree and the source buffer
windows there is a high chance of errors due to the window ids not
being updated and validated.
2. Not all InspectTree windows were closed when the source buffer was
closed.
Solution:
1. Update InspectTree window id on `CursorMoved` event and validate
source buffer window id before trying to navigate to it.
2. Close all InspectTree windows
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: :TOhtml doesn't properly handle virtual text when it has
multiple highlight groups. It also improperly calculates position offset
for multi-byte virt_text characters.
Solution: Apply the `vim.api.nvim_strwidth` broadly to properly
calculate character offset, and handle the cases where the `hl` argument
can be a table of multiple hl groups.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: hare runtime files outdated
Solution: runtime(hare): update hare.vim to match upstream
(Amelia Clarke)
closes: vim/vim#14836
https://github.com/vim/vim/commit/35dfe58a540e2fb0eff953630f8e4fcbf4bc26ca
Co-authored-by: Amelia Clarke <selene@perilune.dev>
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The root directory could show up as something like:
Root directory: ~/path/to/cwd/v:null
Despite being `nil`
|
| | | |
|
| | |
| | |
| | |
| | | |
- Use getregionpos().
- Use a single extmark for non-blockwise selection.
|
| |\ \
| | | |
| | | | |
fix(float): missing default highlight for title
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: there is missing default title highlight when highlight not defined in title text chunk.
Solution: when attr is not set use default title highlight group.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
(#29000)
Problem: Not enough tests for getregion() with multibyte chars.
Solution: Add a few more tests (zeertzjq).
closes: vim/vim#14844
https://github.com/vim/vim/commit/dff55a335889c746a79974f7c52cdcdebad682c2
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This is mostly an aesthetic change, although there are a few new pieces
of information included. Originally I wanted to investigate including
server capabilities in the healthcheck, but until we have the ability to
fold/unfold text in health checks that would be too much information.
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
(#28985)
Problem: Can't use a blockwise selection with a width for getregion().
Solution: Add support for blockwise selection with width like the return
value of getregtype() or the "regtype" value of TextYankPost
(zeertzjq).
closes: vim/vim#14842
https://github.com/vim/vim/commit/afc2295c2201ae87bfbb42d5f5315ad0583ccabf
|
|\| | |
|
| | | |
|
| | |
| | |
| | |
| | | |
If a buffer does not have a backing file then fall back to the current
working directory.
|
| | |
| | |
| | |
| | |
| | | |
The new default SwapExists autocommand displays warning text (W325) but
does not use the WarningMsg highlight group as other warnings do. Use
the WARN log level when displaying this warning.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Problem: `CompleteDone` currently does not specify the reason for why completion was done, which is problematic for completion plugins as they cannot know whether the event was triggered due to the completion being canceled, accepted, or for some other reason.
Solution: Add a `reason` key to `v:event`, which is set by `CompleteDone` to indicate why completion ended.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Deprecation with vim.deprecate is currently too noisy. Show the
following warning instead:
[function] is deprecated. Run ":checkhealth vim.deprecated" for more information.
The important part is that the full message needs to be short enough to
fit in one line in order to not trigger the "Press ENTER or type command
to continue" prompt.
The full information and stack trace for the deprecated functions will
be shown in the new healthcheck `vim.deprecated`.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In other words, `gx` works regardless of where it was used in
`[...](https://...)`. This only works on markdown buffers.
Co-authored-by: ribru17 <ribru17@gmail.com>
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
eol (#28957)
Problem: getregionpos() can't properly indicate positions beyond eol.
Solution: Add an "eol" flag that enables handling positions beyond end
of line like getpos() does (zeertzjq).
Also fix the problem that a position still has the coladd beyond the end
of the line when its column has been clamped. In the last test case
with TABs at the end of the line the old behavior is obviously wrong.
I decided to gate this behind a flag because returning positions that
don't correspond to actual characters in the line may lead to mistakes
for callers that want to calculate the length of the selected text, so
the behavior is only enabled if the caller wants it.
closes: vim/vim#14838
https://github.com/vim/vim/commit/2b09de910458247b70751928217422c38fd5abf8
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: filetype: cygport files are not recognized
Solution: Recognize '*.cygport' files as sh filetype
(Ken Takata)
https://cygwin.github.io/cygport/cygport_in.html
closes: vim/vim#14833
https://github.com/vim/vim/commit/cd79f8fbd34cdb918153d9fa3821eb4092b7b5fc
Co-authored-by: K.Takata <kentkt@csc.jp>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Currently comment detection, addition, and removal are done
by matching 'commentstring' exactly. This has the downside when users
want to add comment markers with space (like with `-- %s`
commentstring) but also be able to uncomment lines that do not contain
space (like `--aaa`).
Solution: Use the following approach:
- Line is commented if it matches 'commentstring' with trimmed parts.
- Adding comment is 100% relying on 'commentstring' parts (as is now).
- Removing comment is first trying exact 'commentstring' parts with
fallback on trying its trimmed parts.
|
| | |
| | |
| | | |
Co-authored-by: Jongwook Choi <wookayin@gmail.com>
|
| | | |
|
| | |
| | |
| | | |
Co-authored-by: Mathias Fussenegger <f.mathias@zignar.net>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: getregionpos() doesn't handle one char selection.
Solution: Handle startspaces differently when is_oneChar is set.
Also add a test for an exclusive charwise selection with
multibyte chars (zeertzjq)
closes: vim/vim#14825
https://github.com/vim/vim/commit/52a6f348874778cf315b47d9e8b5f818f4b97277
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This will help manage the overly granular checkhealth completion to go
from
```
vim.health
vim.lsp
vim.provider.clipboard
vim.provider.node
vim.provider.perl
vim.provider.python
vim.provider.ruby
vim.treesitter
```
to
```
vim.health
vim.lsp
vim.provider
vim.treesitter
```
|
| | |
| | |
| | |
| | |
| | |
| | | |
`vim.health` is not a "plugin" but part of our Lua API and the
documentation should reflect that. This also helps make the
documentation maintenance easier as it is now generated.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: The changetracking state can de-sync when reloading a buffer
with more than one LSP client attached.
Solution: Fully detach all clients from the buffer to force buf_state to
be re-created.
|
| | |
| | |
| | | |
aligns with ":help dev-patterns"
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: layout i.e. whitespace that is part of codelenses is currently
displayed as weird symbols and large amounts of spaces
Solution: replace all consecutive whitespace symbols with a single space
character when trying to display codelenses as virtual text
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: getregionpos() wrong with blockwise mode and multibyte.
Solution: Use textcol and textlen instead of start_vcol and end_vcol.
Handle coladd properly (zeertzjq).
Also remove unnecessary buflist_findnr() in add_regionpos_range(), as
getregionpos() has already switched buffer.
closes: vim/vim#14805
https://github.com/vim/vim/commit/c95e64f41f7f6d1bdc95b047ae9b369743c8637b
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Cannot get a list of positions describing a region
(Justin M. Keyes, after v9.1.0120)
Solution: Add the getregionpos() function
(Shougo Matsushita)
fixes: vim/vim#14609
closes: vim/vim#14617
https://github.com/vim/vim/commit/b4757e627e6c83d1c8e5535d4887a82d6a5efdd0
Co-authored-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: filetype: purescript files are not recognized
Solution: recognize '*.purs' files as purescript filetype,
include basic purescript filetype plugin
(Riley Bruins)
Reference: https://github.com/purescript/documentation/blob/master/language/Syntax.md#comments
closes: vim/vim#14813
https://github.com/vim/vim/commit/155583a5c317881e60828e3972383436ac197ee8
Co-authored-by: Riley Bruins <ribru17@hotmail.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: filetype: slint files are not recognized
Solution: Detect '*.slint' files as slint filetype,
include basic sling filetype plugin
(Riley Bruins)
closes: vim/vim#14808
https://github.com/vim/vim/commit/aa3104b07a3e5e7cc41310f1fbfb00f71ef801a2
Co-authored-by: Riley Bruins <ribru17@hotmail.com>
|