mirror of https://github.com/folke/lazy.nvim.git
feat: added `config.ui.wrap` and improved wrapping when wrap=true. Fixes #422
This commit is contained in:
parent
c389ad552b
commit
d6fc848067
|
@ -37,6 +37,7 @@ M.defaults = {
|
||||||
ui = {
|
ui = {
|
||||||
-- a number <1 is a percentage., >1 is a fixed size
|
-- a number <1 is a percentage., >1 is a fixed size
|
||||||
size = { width = 0.8, height = 0.8 },
|
size = { width = 0.8, height = 0.8 },
|
||||||
|
wrap = true, -- wrap the lines in the ui
|
||||||
-- The border to use for the UI window. Accepts same border values as |nvim_open_win()|.
|
-- The border to use for the UI window. Accepts same border values as |nvim_open_win()|.
|
||||||
border = "none",
|
border = "none",
|
||||||
icons = {
|
icons = {
|
||||||
|
|
|
@ -52,6 +52,15 @@ function M.create()
|
||||||
---@cast self LazyView
|
---@cast self LazyView
|
||||||
Float.init(self)
|
Float.init(self)
|
||||||
|
|
||||||
|
if Config.options.ui.wrap then
|
||||||
|
vim.wo[self.win].wrap = true
|
||||||
|
vim.wo[self.win].linebreak = true
|
||||||
|
vim.wo[self.win].breakindent = true
|
||||||
|
-- vim.wo[self.win].breakindentopt = "shift:8"
|
||||||
|
else
|
||||||
|
vim.wo[self.win].wrap = false
|
||||||
|
end
|
||||||
|
|
||||||
require("lazy.view.colors").setup()
|
require("lazy.view.colors").setup()
|
||||||
|
|
||||||
self.state = vim.deepcopy(default_state)
|
self.state = vim.deepcopy(default_state)
|
||||||
|
|
|
@ -127,13 +127,13 @@ function M:title()
|
||||||
|
|
||||||
if self.view.state.mode == mode.name then
|
if self.view.state.mode == mode.name then
|
||||||
if mode.name == "home" then
|
if mode.name == "home" then
|
||||||
self:append(title, "LazyH1")
|
self:append(title, "LazyH1", { wrap = true })
|
||||||
else
|
else
|
||||||
self:append(title, "LazyButtonActive")
|
self:append(title, "LazyButtonActive", { wrap = true })
|
||||||
self:highlight({ ["%(.%)"] = "LazySpecial" })
|
self:highlight({ ["%(.%)"] = "LazySpecial" })
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
self:append(title, "LazyButton")
|
self:append(title, "LazyButton", { wrap = true })
|
||||||
self:highlight({ ["%(.%)"] = "LazySpecial" })
|
self:highlight({ ["%(.%)"] = "LazySpecial" })
|
||||||
end
|
end
|
||||||
self:append(" ")
|
self:append(" ")
|
||||||
|
|
|
@ -21,7 +21,7 @@ end
|
||||||
|
|
||||||
---@param str string
|
---@param str string
|
||||||
---@param hl? string|Extmark
|
---@param hl? string|Extmark
|
||||||
---@param opts? {indent?: number, prefix?: string}
|
---@param opts? {indent?: number, prefix?: string, wrap?: boolean}
|
||||||
function Text:append(str, hl, opts)
|
function Text:append(str, hl, opts)
|
||||||
opts = opts or {}
|
opts = opts or {}
|
||||||
if #self._lines == 0 then
|
if #self._lines == 0 then
|
||||||
|
@ -39,7 +39,13 @@ function Text:append(str, hl, opts)
|
||||||
if l > 1 then
|
if l > 1 then
|
||||||
self:nl()
|
self:nl()
|
||||||
end
|
end
|
||||||
if str ~= "" and self:col() > 0 and self:col() + vim.fn.strwidth(line) + self.padding > self.wrap then
|
if
|
||||||
|
Config.options.ui.wrap
|
||||||
|
and opts.wrap
|
||||||
|
and str ~= ""
|
||||||
|
and self:col() > 0
|
||||||
|
and self:col() + vim.fn.strwidth(line) + self.padding > self.wrap
|
||||||
|
then
|
||||||
self:nl()
|
self:nl()
|
||||||
end
|
end
|
||||||
table.insert(self._lines[#self._lines], {
|
table.insert(self._lines[#self._lines], {
|
||||||
|
|
Loading…
Reference in New Issue