fix: view.width functions may return strings (#3020)

* Fix get_size() function when size is a function return string

* update view.width help

---------

Co-authored-by: Alexander Courtis <alex@courtis.org>
This commit is contained in:
Jie Liu 2024-12-08 08:45:32 +08:00 committed by GitHub
parent 375e38673b
commit 6b4be1dc0c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 5 additions and 5 deletions

View File

@ -800,22 +800,22 @@ Width of the window: can be a `%` string, a number representing columns, a
function or a table.
A table indicates that the view should be dynamically sized based on the
longest line.
Type: `string | number | table | function()` returning a number
Type: `string | number | table | fun(): number|string`
Default: `30`
*nvim-tree.view.width.min*
Minimum dynamic width.
Type: `string | number | function()` returning a number
Type: `string | number | fun(): number|string`
Default: `30`
*nvim-tree.view.width.max*
Maximum dynamic width, -1 for unbounded.
Type: `string | number | function()` returning a number
Type: `string | number | fun(): number|string`
Default: `-1`
*nvim-tree.view.width.padding*
Extra padding to the right.
Type: `number | function()` returning a number
Type: `number | fun(): number|string`
Default: `1`
*nvim-tree.view.float*

View File

@ -119,7 +119,7 @@ local function get_size(size)
if type(size) == "number" then
return size
elseif type(size) == "function" then
return size()
return get_size(size())
end
local size_as_number = tonumber(size:sub(0, -2))
local percent_as_decimal = size_as_number / 100