| Commit message (Collapse) | Author | Age |
| ... | |
| |
|
|
|
|
|
| |
Problem:
:help/:helpgrep/:lhelpgrep can focus unfocusable/hide window
Solution:
Ignore unfocusable/hidden window when reusing help buffer.
|
| |
|
|
|
|
|
|
| |
Problem: When a floating window with high winblend uses a highlight group
with underline (but without guisp), the underline appears red.
Solution: Only blend the special color (for underline/undercurl) if the
foreground highlight actually has underline or undercurl set.
Otherwise, ignore the special color.
|
| |
|
|
| |
Problem: `:fclose` command failed when used with trailing `|` bar.
Solution: Add `TRLBAR` flag to fclose command to support trailing bar.
|
| |
|
|
|
| |
Problem: Uninitialized grid for a "win" relative float when redrawing
just after it has been opened.
Solution: Ensure window grid is allocated or assigned the default grid.
|
| |
|
|
|
|
|
|
|
|
| |
Problem: When using 'winblend', transparent backgrounds (-1) are forced
to default colors (usually black) during attribute blending, breaking
the transparency effect.
Solution: Check original background colors before blending in
hl_blend_attrs(). If both background and foreground originally had
transparent backgrounds, preserve transparency instead of forcing
default colors.
|
| |
|
|
| |
Problem: The test included too many unnecessary line breaks.
Solution: Remove the extra line breaks to make the test code more concise.
|
| |
|
|
|
|
|
|
|
| |
fix(api): ensure win_get_config() is reciprocal
Problem: win_get_config() does not include a 'none' border field,
causing nvim_open_win() to apply the 'winborder' value.
Solution: Include a 'none' border field in the returned config,
such that it can be used reciprocally in nvim_open_win()
to yield the same window layout.
|
| |
|
|
|
|
|
| |
Problem: "win" is cleared in float config after 96330843, even with
unchanged "relative".
Solution: Don't clear "win". Avoid erroring for deleted "win" by setting
the parent win to curwin directly when "win" is zero or not
present in config.
|
| |
|
|
|
|
| |
Problem: Unable to change the "relative" of a flag after its target
"win" no longer exists.
Solution: Unset target window if it is not present in config and
reconfigured "relative" no longer expects a target window.
|
| |
|
|
|
|
|
|
|
|
|
| |
Problem: Non-visible/focusable windows are assigned a window number,
whereas commands that use this window number skip over them.
Solution: Skip over non-visible/focusable windows when computing
the window number, unless it is made the current window
through the API in which case an identifiable window number
is still useful. This also ensures it matches the window
number of the window entered by `<winnr>wincmd w` since
403fcacf.
|
| |
|
|
|
|
|
|
|
|
|
| |
(#34198)
Problem: not easily possible to complete from register content
Solution: add register-completion submode using i_CTRL-X_CTRL-R
(glepnir)
closes: vim/vim#17354
https://github.com/vim/vim/commit/0546068aaef2b1a40faa2945ef7eba249739f219
|
| |
|
|
|
|
|
|
|
| |
Problem:
decorations_spec.lua, float_spec.lua, multigrid_spec.lua are not
auto-formatted.
Solution:
Add a special `formatlua2` cmake target, which invokes `stylua` with
an alternative `.stylua2.toml` config.
|
| |
|
|
|
|
|
|
|
|
| |
Problem: Using `<C-W>w`, `<C-W>W` or the ":wincmd" variants with a count can
enter unfocusable or hidden floating windows. This is especially problematic
when using the new in-development extui, which creates many unfocusable floats
for various UI elements.
Solution: Skip unfocusable and hidden floating windows. Instead, skip to the
next focusable, non-hidden window in the current tabpage's window list. Reword
the documentation a bit (hopefully an improvement?)
|
| |
|
|
|
|
|
|
| |
In a floating window grid, "wrap" flag should not
be set when vertical borders are used, as the the wrapped
text will be broken up by border chars.
fixes #33719
|
| |
|
| |
Co-authored-by: Maria José Solano <majosolano99@gmail.com>
|
| |
|
|
|
|
|
| |
Problem:
'winblend' does not display text behind blank unicode characters other than 0x20 ascii space.
Solution:
In ui_compositor.c -> compose_line() check for either 0x20 or 0x80A0E2 (utf8 \u2800).
|
| |
|
|
|
|
|
|
| |
Problem:
Cursor is visible in "hidden" floating window.
Solution:
Hide cursor when curwin is a hidden floating window.
Show cursor after returning to a normal (non-hidden) window.
|
| |
|
|
|
| |
Provide compositor information, like composition index and absolute
position.
|
| | |
|
| | |
|
| |
|
|
|
|
| |
Problem: Reconfiguring a float window applies the global 'winborder'.
Solution:
- Ignore 'winborder' when reconfiguring a float window.
- Still apply 'winborder' when converting a split to a float window.
|
| |
|
|
|
|
|
|
|
| |
Problem:
There is currently no global option to define the default border style for floating windows. This leads to repetitive code when developers need consistent styling across multiple floating windows.
Solution:
Introduce a global option winborder to specify the default border style for floating windows. When a floating window is created without explicitly specifying a border style, the value of the winborder option will be used. This simplifies configuration and ensures consistency in floating window appearance.
Co-authored-by: Gregory Anders <greg@gpanders.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
Indenting text is a common task in plugins/scripts for
presentation/formatting, yet vim has no way of doing it (especially
"dedent", and especially non-buffer text).
Solution:
Introduce `vim.text.indent()`. It sets the *exact* indentation because
that's a more difficult (and thus more useful) task than merely
"increasing the current indent" (which is somewhat easy with a `gsub()`
one-liner).
|
| |
|
|
|
|
|
|
|
| |
Problem: setting title and/or footer without explicitly setting border
shows "title/footer/ requires border to be set" error.
At the same time, explicitly setting `border = "none"` (which is
default) shows expected no-border-no-title-no-footer window without
error.
Solution: allow setting title/footer without explicitly setting border.
|
| |
|
|
|
|
|
|
|
| |
Problem: set winbar on a floating window which only have one row will
cause crash.
Solution: when new floating window only have one room don't copy winbar
from target window"
Fix #19464
|
| |
|
|
|
|
|
|
| |
Problem:
`nvim_win_set_config` cannot set the title and footer independently.
When only one is given, the other is reset to the default of "left".
Solution:
Reuse existing title/footer value if not provided.
|
| |
|
|
|
|
|
|
|
|
|
| |
Problem: Combined highlighting was not applied to nvim_eval_statusline(),
and 'statuscolumn' sign segment/numhl highlights.
Solution: Add an additional `groups` element to the return value of
`nvim_eval_statusline()->highlights`. This is an array of stacked
highlight groups (highest priority last). Also resolve combined
highlights for the 'statuscolumn' sign segment/numhl highlights.
Expose/synchronize some drawline.c logic that is now mimicked in
three different places.
|
| |
|
|
|
|
|
| |
Problem: Anchoring a floating window to the tabline and laststatus is
cumbersome; requiring autocommands and looping over all
windows/tabpages.
Solution: Add new "tabline" and "laststatus" options to the `relative`
field of nvim_open_win() to place a window relative to.
|
| |
|
|
|
|
|
|
| |
Problem:
Since e049c6e4c08a, most statusline-like UI elements can combine
highlight attrs, except for sign/statuscolumn.
Solution:
Implement for sign/statuscolumn.
|
| |
|
|
|
|
| |
Problem: when zindex is changed in vim.schedule the zindex sort in
layers not changed.
Solution: resort layers when zindex changed.
|
| |
|
|
|
|
|
|
|
|
| |
Before calling "attach" a screen object is just a dummy container for
(row, col) values whose purpose is to be sent as part of the "attach"
function call anyway.
Just create the screen in an attached state directly. Keep the complete
(row, col, options) config together. It is still completely valid to
later detach and re-attach as needed, including to another session.
|
| |
|
|
| |
Problem: Cannot allow mouse interaction for non-focusable float window.
Solution: Add a "mouse" field to float window config.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
floating windows did not correctly inherit the NormalFloat highlight
group from the global namespace when it was not defined in the window-specific
namespace. This led to floating windows losing their background highlight when
switching between namespaces.
Solution:
Updated the window highlight logic in update_window_hl() to handle the fallback.
This fix resolves issues with floating window backgrounds not displaying as expected
in certain namespace configurations.
|
| | |
|
| |
|
|
|
|
|
| |
Problem: A custom 'statuscolumn' needs to check a bunch of options and
placed signs to replicate the default number column.
Solution: Rework %l item to include the necessary logic to mimic the
default number column. Remove now redundant %r item.
|
| |
|
|
|
|
| |
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.
|
| | |
|
| |
|
| |
\
|
| |
|
|
|
|
|
|
|
| |
Specifically, functions that are run in the context of the test runner
are put in module `test/testutil.lua` while the functions that are run
in the context of the test session are put in
`test/functional/testnvim.lua`.
Closes https://github.com/neovim/neovim/issues/27004.
|
| |\
| |
| | |
fix(float): wrong position when bufpos is out of range
|
| | |
| |
| |
| |
| |
| | |
Problem: when lnum in bufpos is out of range the position of float is wired.
Solution: avoid the height value out of buffer line range.
|
| |/ |
|
| |
|
|
| |
Problem: The current error message isn't very accurate.
Solution: Improve the error message.
|
| |\
| |
| | |
fix(float): don't relative float win itself
|
| | |
| |
| |
| |
| |
| | |
Problem: when reconfig current float win without win key in nvim_win_set_config will cause float win position changed when move.
Solution: don't relative itself.
|
| |/ |
|
| |
|
|
| |
Work on https://github.com/neovim/neovim/issues/27004.
|