| Commit message (Collapse) | Author | Age |
... | |
| |
| |
| |
| |
| |
| |
| | |
Problem: memory leak in nvim_create_buf if buflist_new autocommands load the
new buffer early.
Solution: do not open a memfile in that case.
|
| |
| |
| | |
It no longer fails on Unix CI.
|
|/
|
|
|
|
|
|
|
|
|
|
| |
Problem: Vento files are not recognized.
Solution: Recognize *.vto files as filetype "vento" (wrapperup)
Vento is a templating engine https://vento.js.org/
closes: vim/vim#14229
https://github.com/vim/vim/commit/9f26e5a9bcedb3caef26e9d77849ea37a3626bbf
Co-authored-by: wrapperup <wrapperup4@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
| |
Problem: Not all standard treesitter groups are documented.
Solution: Document them all (without relying on fallback); add default
link for new `*.builtin` groups to `Special` and `@keyword.type` to
`Structure`. Remove `@markup.environment.*` which only made sense for
LaTeX.
|
| |
|
|
|
|
|
| |
Also:
- Make indent of test cases consistent.
- Unskip TUI rapid resize test with ASAN as reflow is now disabled.
|
|
|
|
|
| |
The first describe() block enters terminal mode in before_each(), so
feed_command() at the start of a test case writes it to the terminal
instead of executing it.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Dafny files are not recognized.
Solution: Recognize *.dfy files as filetype "dafny" (zeertzjq).
Ref: https://dafny.org/
Ref: https://github.com/mlr-msft/vim-loves-dafny
closes: vim/vim#14226
https://github.com/vim/vim/commit/4e334d0443f28f4e749dbef38d686d0dd19122de
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Problem:
As mentioned in #23002 on_setup and on_init are run concurrently.
However, in basic_finish tests on_setup must attach the client before
on_init finishes. The other basic_finish test isn't flaky because it
makes an RPC request in on_init.
Solution:
Don't use on_setup in basic_finish tests.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: "NOTE"s, inline Vim script code, and links ending in digits may not be
highlighted correctly within the :Tutor.
Solution: set an explicit value for ":syntax iskeyword" that includes digits. Do
it after ":syntax include"s, so the included syntax/sh.vim doesn't mess with the
value.
Increase screen test width so all text within the conclusion section is visible.
Co-authored-by: Sean Dewar <6256228+seandewar@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
've' and conceal (#27903)
Problem: Wrong cursor position when clicking after end of line with
'rightleft', 'virtualedit' and conceal.
Solution: Set values in ScreenCols[] also with SLF_RIGHTLEFT. Also fix
off-by-one cursor position with 'colorcolumn' (zeertzjq).
closes: vim/vim#14218
https://github.com/vim/vim/commit/deb2204bffa075ed5485415fc2dbd20e75d87ea4
|
|
|
|
|
| |
Problem: More prompt is not shown in headless mode even if there is a
UI attached.
Solution: Don't skip more prompt when there is a UI active.
|
|
|
|
| |
Fixes #27895
|
| |
|
| |
|
|
|
|
|
| |
Problem: Wrong cursor position when clicking after end of line with
'virtualedit', conceal and virtual text.
Solution: Always fill linebuf_vcol[] for the columns to clear.
|
|
|
|
|
|
|
| |
There is no test for using 'cursorline' in Normal mode in a terminal
buffer, so add a test and fix 'cursorcolumn' remaining when entering
Terminal mode.
Also move synIDattr() tests to ui/highlight_spec.lua.
|
|
|
|
|
|
|
|
| |
Problem: Cursor line is unconcealed when pressing 'r' in Normal mode
when 'concealcursor' contains 'n' but not 'i'.
Solution: Don't check conceal when pressing 'r' in Normal mode.
Vim doesn't have this problem because it doesn't call redrawWinline() in
conceal_check_cursor_line() and instead sets a global variable.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(#27890)
Problem: Cursor position wrong when clicking with conceal and wrap.
Solution: Use the virtual column of the last char for ScreenCols[] in
boguscols. Remove use of MAXCOL in ScreenCols[]. Rename
third argument of wlv_screen_line() to "clear_end" as that's
clearer what it does (zeertzjq).
related: 14192
closes: vim/vim#14200
https://github.com/vim/vim/commit/d0c1b7723f7e73763597af2f97a53d94ab7ed020
Rename win_put_linebuf() to wlv_put_linebuf().
|
|
|
|
| |
The only place it matters is the conceal wcol check, but it can avoid
unnecessary computations at other places.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added the following LSP semantic token types to be linked to highlight
groups by default:
* @lsp.type.event
* @lsp.type.keyword
* @lsp.type.modifier
* @lsp.type.number
* @lsp.type.operator
* @lsp.type.regexp
* @lsp.type.string
|
|
|
|
|
|
|
|
|
|
|
| |
'formatexpr' (#27883)
Problem: Can define function with invalid name inside 'formatexpr'.
Solution: Use goto instead of checking for did_emsg later.
(zeertzjq)
closes: vim/vim#14209
https://github.com/vim/vim/commit/6a04bf5ee523b2d6d01d7290e356a30de219f465
|
|
|
|
|
|
|
|
|
|
|
|
| |
mode (#27882)
Problem: Wrong display or screenpos() result when toggling diff mode.
Solution: Reset w_skipcol when disabling 'wrap'. Reset w_leftcol when
enabling 'wrap' (zeertzjq).
fixes: vim/vim#14210
closes: vim/vim#14211
https://github.com/vim/vim/commit/9e7f1fc2f159d58b2a4cd4b7060bead126fead49
|
|\
| |
| | |
fix(intro): redrawing intro exposing pseudo-randomness
|
| |
| |
| |
| |
| | |
problem: redrawing intro exposes pseudo-randomness
solution: remove pseudo-randomness
|
|/ |
|
|\
| |
| | |
fix(ui): startup intro message should be visible with ext_multigrid
|
| |
| |
| |
| |
| |
| |
| |
| | |
As this message is literally drawn on top of the EOB area of the first
window, the simple solution is to just draw the message on top of the
grid of the first window.
We still want #24764 (msg_intro event) but now only for ext_messages.
|
|\ \
| | |
| | | |
fix(ui): issues controlling cursor position with ext_cmdline
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: The ext_cmdline cursor position on the screen seems to rely on
an implicit assumption that the event listener implements a
cmdline window that is made the current window which is
problematic (e.g. breaks 'incsearch' in the actual current
window).
Solution: Remove this assumption and allow nvim_win_set_cursor() to move
the cursor on the screen to a non-current window (previous
commit).
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Cursor position set by nvim_win_set_cursor() is not reflected
on the screen when followed by a blocking call like getchar().
Solution: Immediately update the cursor position on the grid.
|
|\ \ \
| |_|/
|/| | |
fix(snippet): correct indent with newline
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: snippet newline use before line indent after expand.
Solution: it should level + 1.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: no overflow check for string formatting
Solution: Check message formatting function for overflow.
(Chris van Willegen)
closes: vim/vim#13799
https://github.com/vim/vim/commit/c35fc03dbd47582b256776fb11f11d8ceb24f8f0
Co-authored-by: Christ van Willegen <cvwillegen@gmail.com>
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
(#27862)
Problem: Cursor pos wrong when double-width chars are concealed.
Solution: Advance one more virtual column for a double-width char.
Run some tests with both 'wrap' and 'nowrap' (zeertzjq).
closes: vim/vim#14197
https://github.com/vim/vim/commit/010e1539d67442cc69a97bef6453efaf849d0db3
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem:
CursorColumn highlight behavior is inconsistent with 'virtualedit' set:
- If cursor is on the text, CursorColumn is not shown.
- If cursor is after end of line, CursorColumn is shown.
Solution:
Don't shown CursorColumn on current line if cursor is after end of line.
Vim doesn't have this problem because in most cases it uses the code
path for drawing buffer text when CursorColumn highlight is needed.
|
|\ \
| | |
| | | |
fix(intro): make intro explicitly stateful
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Instead of randomly disappearing because some random event might have
caused mid_start or bot_scroll_start to randomly take a low value, treat
intro message as a _first class stateful_ thing.
This means that intro message will kept being _redrawn_ as long as we
are in the state it should be shown. This also includes screen resizes.
you will not lose the intro message because there was a delay in
detecting terminal features.
|
|\ \ \
| | | |
| | | | |
fix(api): fix set_lines viewport adjustment, but this time good
|
| |/ /
| | |
| | |
| | | |
fixes #27720
|
|/ /
| |
| |
| |
| |
| |
| | |
reverts https://github.com/neovim/neovim/commit/c855eee919f2d4edc9b9fa91b277454290fbabfe
This setting introduces constant CI failures on macos
(see https://github.com/neovim/neovim/issues/23762).
|
| |
| |
| |
| |
| | |
`on_line_impl` doesn't highlight single lines, so using pattern indexes
to offset priority doesn't work.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Coverity reports dead code.
Solution: Remove the dead code. Also fix a mistake in ml_get_pos_len()
and update some comments (zeertzjq).
closes: vim/vim#14189
https://github.com/vim/vim/commit/8c55d60658b7ee3458dca57fc5eec90ca9bb9bf3
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Cursor column wrong with 'virtualedit' and conceal.
Solution: Correct cursor column at end of line if never reached.
(zeertzjq)
closes: vim/vim#14190
https://github.com/vim/vim/commit/253ff4dece4e6cc4a9ff3ed935bc78f832b6fb7c
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: 'cursorline' and 'wincolor' highlight missing with concealed and
wrapped lines.
Solution: Apply 'cursorline' and 'wincolor' highlight to boguscols.
(zeertzjq)
Since 'cursorline' and 'wincolor' highlight apply after the end of the
line, it is more consistent to have them also apply to boguscols.
Assigning MAXCOL to values in ScreenCols[] make mouse click behave the
same with 'cursorline' and 'nocursorline', but such behavior may be
incorrect, as it puts the cursor on the next screen line. That may be
fixed in a future PR.
closes: vim/vim#14192
https://github.com/vim/vim/commit/21b0a3df8c4abb884489dfcc0c92b1bbe058f291
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: E1513 might be confusing
(Christoph Thoma)
Solution: reword error message, fix test to not
depend on the actual message
fixes: vim/vim#14189
https://github.com/vim/vim/commit/0a32b8854b52381fd17a6fcc5e38a3b9e77c8923
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: winframe functions incorrectly recompute window positions if
the altframe wasn't adjacent to the closed frame, which is
possible if adjacent windows had 'winfix{width,height}' set.
Solution: recompute for windows within the parent of the altframe and
closed frame. Skip this (as before) if the altframe was
top/left, but only if adjacent to the closed frame, as
positions won't change in that case. Also correct the return
value documentation for win_screenpos. (Sean Dewar)
The issue revealed itself after removing the win_comp_pos call below
winframe_restore in win_splitmove. Similarly, wrong positions could result from
windows closed in other tabpages, as win_free_mem uses winframe_remove (at least
until it is entered later, where enter_tabpage calls win_comp_pos).
NOTE: As win_comp_pos handles only curtab, it's possible via other means for
positions in non-current tabpages to be wrong (e.g: after changing 'laststatus',
'showtabline', etc.). Given enter_tabpage recomputes it, maybe it's intentional
as an optimization? Should probably be documented in win_screenpos then, but I
won't address that here.
closes: vim/vim#14191
Nvim: don't reuse "wp" for "topleft" in winframe_remove, so the change
integrates better with the call to winframe_find_altwin before it.
https://github.com/vim/vim/commit/5866bc3a0f54115d5982fdc09bdbe4c45069265a
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A lot of functions in move.c only worked for curwin, alternatively
took a `wp` arg but still only work if that happens to be curwin.
Refactor those that are needed for update_topline(wp) to work
for any window.
fixes #27723
fixes #27720
|