Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bug: vim.fn.confirm does not accept endline characters #422

Closed
3 tasks done
luiz00martins opened this issue Apr 6, 2023 · 0 comments · Fixed by #431 or #639
Closed
3 tasks done

bug: vim.fn.confirm does not accept endline characters #422

luiz00martins opened this issue Apr 6, 2023 · 0 comments · Fixed by #431 or #639
Labels
bug Something isn't working

Comments

@luiz00martins
Copy link

Did you check docs and existing issues?

  • I have read all the noice.nvim docs
  • I have searched the existing issues of noice.nvim
  • I have searched the existing issues of plugins related to this issue

Neovim version (nvim -v)

NVIM v0.9.0-dev-1292+geac75a971

Operating system/version

Windows 10 Home 19044.2728

Describe the bug

Text being displayed by vim.fn.confirm (among others) does not accept endline characters. They are automatically removed if present.

If the text is particularly long, it will overrun the screen (i.e. be extended outside the screen space).


Note: Found in james1236/backseat.nvim#10

Steps To Reproduce

  1. Install noice.
  2. Execute vim.fn.confirm with endlines in the text (such as :lua vim.fn.confirm(string.rep('abdce\n', 3)))

The endlines will be consumed.

image


  1. Install noice.
  2. Execute a long vim.fn.confirm command (such as :lua vim.fn.confirm(string.rep('abdce\n', 200)))

The popup will extend outside of the screen.

image

Expected Behavior

Keep newlines and adapt the height of the popup to the necessary size to display the full message.

Repro

-- DO NOT change the paths and don't remove the colorscheme
local root = vim.fn.fnamemodify("./.repro", ":p")

-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "cache" }) do
  vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", lazypath, })
end
vim.opt.runtimepath:prepend(lazypath)

-- install plugins
local plugins = {
  "folke/noice.nvim",
}
require("lazy").setup(plugins, {
  root = root .. "/plugins",
})
@luiz00martins luiz00martins added the bug Something isn't working label Apr 6, 2023
@folke folke closed this as completed in 051111f Apr 16, 2023
willothy pushed a commit to willothy/noice.nvim that referenced this issue Aug 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant