@@ -315,31 +315,25 @@ local function grow()
315315 padding = padding + wininfo [1 ].textoff
316316 end
317317
318- local resizing_width = M .View .initial_width - padding
319- local max_width
320-
321- -- maybe bound max
322- if M .View .max_width == - 1 then
323- max_width = - 1
324- else
325- max_width = get_width (M .View .max_width ) - padding
318+ local final_width = M .View .initial_width
319+ local max_width = math.huge
320+ if M .View .max_width ~= - 1 then
321+ max_width = get_width (M .View .max_width )
326322 end
327323
328324 local ns_id = vim .api .nvim_get_namespaces ()[" NvimTreeExtmarks" ]
329325 for line_nr , l in pairs (lines ) do
330- local count = vim .fn .strchars (l )
326+ local line_width = vim .fn .strchars (l )
331327 -- also add space for right-aligned icons
332328 local extmarks = vim .api .nvim_buf_get_extmarks (M .get_bufnr (), ns_id , { line_nr , 0 }, { line_nr , - 1 }, { details = true })
333- count = count + utils .extmarks_length (extmarks )
334- if resizing_width < count then
335- resizing_width = count
336- end
337- if M .View .adaptive_size and max_width >= 0 and resizing_width >= max_width then
338- resizing_width = max_width
329+ line_width = line_width + utils .extmarks_length (extmarks ) + padding
330+ final_width = math.max (final_width , line_width )
331+ if final_width >= max_width then
332+ final_width = max_width
339333 break
340334 end
341335 end
342- M .resize (resizing_width + padding )
336+ M .resize (final_width )
343337end
344338
345339function M .grow_from_content ()
0 commit comments