diff --git a/doc/nvim-tree-lua.txt b/doc/nvim-tree-lua.txt index 6de645582e1..b3aa35abb2b 100644 --- a/doc/nvim-tree-lua.txt +++ b/doc/nvim-tree-lua.txt @@ -462,7 +462,10 @@ Following is the default configuration. See |nvim-tree-opts| for details. >lua hidden_placement = "after", diagnostics_placement = "signcolumn", bookmarks_placement = "signcolumn", - padding = " ", + padding = { + icon = " ", + folder_arrow = " ", + }, symlink_arrow = " ➛ ", show = { file = true, @@ -1065,10 +1068,14 @@ Configuration options for icons. Bookmark icon placement. Type: `string`, Default: `signcolumn` - *nvim-tree.renderer.icons.padding* + *nvim-tree.renderer.icons.padding.icon* Inserted between icon and filename. Type: `string`, Default: `" "` + *nvim-tree.renderer.icons.padding.folder_arrow* + Inserted between folder arrow icon and file/folder icon. + Type: `string`, Default: `" "` + *nvim-tree.renderer.icons.symlink_arrow* Used as a separator between symlinks' source and target. Type: `string`, Default: `" ➛ "` @@ -3027,6 +3034,7 @@ needed. `sort_by` |nvim-tree.sort.sorter| `git.ignore` |nvim-tree.filters.git_ignored| `renderer.icons.webdev_colors` |nvim-tree.renderer.icons.web_devicons.file.color| +`renderer.icons.padding` |nvim-tree.renderer.icons.padding.icon| ============================================================================== 14.2 LEGACY: HIGHLIGHT *nvim-tree-legacy-highlight* @@ -3183,7 +3191,8 @@ highlight group is not, hard linking as follows: > |nvim-tree.renderer.icons.glyphs.symlink| |nvim-tree.renderer.icons.hidden_placement| |nvim-tree.renderer.icons.modified_placement| -|nvim-tree.renderer.icons.padding| +|nvim-tree.renderer.icons.padding.folder_arrow| +|nvim-tree.renderer.icons.padding.icon| |nvim-tree.renderer.icons.show| |nvim-tree.renderer.icons.show.bookmarks| |nvim-tree.renderer.icons.show.diagnostics| diff --git a/lua/nvim-tree.lua b/lua/nvim-tree.lua index dc64044abc2..3e8c04b75c3 100644 --- a/lua/nvim-tree.lua +++ b/lua/nvim-tree.lua @@ -334,7 +334,10 @@ local DEFAULT_OPTS = { -- BEGIN_DEFAULT_OPTS hidden_placement = "after", diagnostics_placement = "signcolumn", bookmarks_placement = "signcolumn", - padding = " ", + padding = { + icon = " ", + folder_arrow = " ", + }, symlink_arrow = " ➛ ", show = { file = true, diff --git a/lua/nvim-tree/legacy.lua b/lua/nvim-tree/legacy.lua index 7ba4f989e6a..21f9a72b6cf 100644 --- a/lua/nvim-tree/legacy.lua +++ b/lua/nvim-tree/legacy.lua @@ -60,6 +60,13 @@ local function refactored(opts) end end utils.move_missing_val(opts, "update_focused_file", "ignore_list", opts, "update_focused_file.update_root", "ignore_list", true) + + -- 2025/04/30 + if opts.renderer and opts.renderer.icons and type(opts.renderer.icons.padding) == "string" then + local icons_padding = opts.renderer.icons.padding + opts.renderer.icons.padding = {} + opts.renderer.icons.padding.icon = icons_padding + end end local function deprecated(opts) diff --git a/lua/nvim-tree/renderer/builder.lua b/lua/nvim-tree/renderer/builder.lua index 9ada17751ab..447c75b8f88 100644 --- a/lua/nvim-tree/renderer/builder.lua +++ b/lua/nvim-tree/renderer/builder.lua @@ -140,7 +140,7 @@ function Builder:format_line(indent_markers, arrows, icon, name, node) end for _, v in ipairs(t2) do if added_len > 0 then - table.insert(t1, { str = self.explorer.opts.renderer.icons.padding }) + table.insert(t1, { str = self.explorer.opts.renderer.icons.padding.icon }) end table.insert(t1, v) end diff --git a/lua/nvim-tree/renderer/components/padding.lua b/lua/nvim-tree/renderer/components/padding.lua index ccb550e3229..a33525cc437 100644 --- a/lua/nvim-tree/renderer/components/padding.lua +++ b/lua/nvim-tree/renderer/components/padding.lua @@ -95,15 +95,15 @@ function M.get_arrows(node) local dir = node:as(DirectoryNode) if dir then if dir.open then - str = M.config.icons.glyphs.folder["arrow_open"] .. " " + str = M.config.icons.glyphs.folder["arrow_open"] .. M.config.icons.padding.folder_arrow hl = "NvimTreeFolderArrowOpen" else - str = M.config.icons.glyphs.folder["arrow_closed"] .. " " + str = M.config.icons.glyphs.folder["arrow_closed"] .. M.config.icons.padding.folder_arrow end elseif M.config.indent_markers.enable then str = "" else - str = " " + str = " " .. string.rep(" ", #M.config.icons.padding.folder_arrow) end return { str = str, hl = { hl } }