* feat(#2598): Implemented API `tree.resize` * rely on when resize * Fix docs --------- Co-authored-by: Alexander Courtis <alex@courtis.org>
This commit is contained in:
@@ -4,12 +4,14 @@ M.find_file = require "nvim-tree.actions.tree.find-file"
|
||||
M.modifiers = require "nvim-tree.actions.tree.modifiers"
|
||||
M.open = require "nvim-tree.actions.tree.open"
|
||||
M.toggle = require "nvim-tree.actions.tree.toggle"
|
||||
M.resize = require "nvim-tree.actions.tree.resize"
|
||||
|
||||
function M.setup(opts)
|
||||
M.find_file.setup(opts)
|
||||
M.modifiers.setup(opts)
|
||||
M.open.setup(opts)
|
||||
M.toggle.setup(opts)
|
||||
M.resize.setup(opts)
|
||||
end
|
||||
|
||||
return M
|
||||
|
||||
51
lua/nvim-tree/actions/tree/resize.lua
Normal file
51
lua/nvim-tree/actions/tree/resize.lua
Normal file
@@ -0,0 +1,51 @@
|
||||
local view = require "nvim-tree.view"
|
||||
|
||||
local M = {}
|
||||
|
||||
---Resize the tree, persisting the new size.
|
||||
---@param opts ApiTreeResizeOpts|nil
|
||||
function M.fn(opts)
|
||||
if opts == nil then
|
||||
-- reset to config values
|
||||
view.configure_width()
|
||||
view.resize()
|
||||
return
|
||||
end
|
||||
|
||||
local options = opts or {}
|
||||
local width_cfg = options.width
|
||||
|
||||
if width_cfg ~= nil then
|
||||
view.configure_width(width_cfg)
|
||||
view.resize()
|
||||
return
|
||||
end
|
||||
|
||||
if not view.is_width_determined() then
|
||||
-- {absolute} and {relative} do nothing when {width} is a function.
|
||||
return
|
||||
end
|
||||
|
||||
local absolute = options.absolute
|
||||
if type(absolute) == "number" then
|
||||
view.resize(absolute)
|
||||
return
|
||||
end
|
||||
|
||||
local relative = options.relative
|
||||
if type(relative) == "number" then
|
||||
local relative_size = tostring(relative)
|
||||
if relative > 0 then
|
||||
relative_size = "+" .. relative_size
|
||||
end
|
||||
|
||||
view.resize(relative_size)
|
||||
return
|
||||
end
|
||||
end
|
||||
|
||||
function M.setup(opts)
|
||||
M.config = opts or {}
|
||||
end
|
||||
|
||||
return M
|
||||
Reference in New Issue
Block a user