From 6ade23371d516ce4fd6fa13e621bb63dbff13672 Mon Sep 17 00:00:00 2001 From: smchunn Date: Thu, 24 Apr 2025 09:29:01 -0400 Subject: [PATCH 1/5] Update padding.lua --- lua/nvim-tree/renderer/components/padding.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lua/nvim-tree/renderer/components/padding.lua b/lua/nvim-tree/renderer/components/padding.lua index ccb550e3229..a4df4f29759 100644 --- a/lua/nvim-tree/renderer/components/padding.lua +++ b/lua/nvim-tree/renderer/components/padding.lua @@ -95,10 +95,10 @@ 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 hl = "NvimTreeFolderArrowOpen" else - str = M.config.icons.glyphs.folder["arrow_closed"] .. " " + str = M.config.icons.glyphs.folder["arrow_closed"] .. M.config.icons.padding end elseif M.config.indent_markers.enable then str = "" From d87671cf1585ea0528ffebaaf03b6627c806b5c6 Mon Sep 17 00:00:00 2001 From: smchunn Date: Thu, 24 Apr 2025 21:27:09 -0400 Subject: [PATCH 2/5] add folder_arrow_padding --- doc/nvim-tree-lua.txt | 5 +++++ lua/nvim-tree.lua | 1 + lua/nvim-tree/renderer/components/padding.lua | 6 +++--- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/doc/nvim-tree-lua.txt b/doc/nvim-tree-lua.txt index 6de645582e1..a094a834cb4 100644 --- a/doc/nvim-tree-lua.txt +++ b/doc/nvim-tree-lua.txt @@ -463,6 +463,7 @@ Following is the default configuration. See |nvim-tree-opts| for details. >lua diagnostics_placement = "signcolumn", bookmarks_placement = "signcolumn", padding = " ", + folder_arrow_padding = " ", symlink_arrow = " ➛ ", show = { file = true, @@ -1069,6 +1070,10 @@ Configuration options for icons. Inserted between icon and filename. Type: `string`, Default: `" "` + *nvim-tree.renderer.icons.folder_arrow_padding* + 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: `" ➛ "` diff --git a/lua/nvim-tree.lua b/lua/nvim-tree.lua index dc64044abc2..f37968c94aa 100644 --- a/lua/nvim-tree.lua +++ b/lua/nvim-tree.lua @@ -335,6 +335,7 @@ local DEFAULT_OPTS = { -- BEGIN_DEFAULT_OPTS diagnostics_placement = "signcolumn", bookmarks_placement = "signcolumn", padding = " ", + folder_arrow_padding = " ", symlink_arrow = " ➛ ", show = { file = true, diff --git a/lua/nvim-tree/renderer/components/padding.lua b/lua/nvim-tree/renderer/components/padding.lua index a4df4f29759..bf9366bb60b 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"] .. M.config.icons.padding + str = M.config.icons.glyphs.folder["arrow_open"] .. M.config.icons.folder_arrow_padding hl = "NvimTreeFolderArrowOpen" else - str = M.config.icons.glyphs.folder["arrow_closed"] .. M.config.icons.padding + str = M.config.icons.glyphs.folder["arrow_closed"] .. M.config.icons.folder_arrow_padding end elseif M.config.indent_markers.enable then str = "" else - str = " " + str = " " .. string.rep(" ", #M.config.icons.folder_arrow_padding) end return { str = str, hl = { hl } } From 005c27eddc3818ac861b38fede4cde67d896dd2e Mon Sep 17 00:00:00 2001 From: smchunn Date: Fri, 25 Apr 2025 10:01:36 -0400 Subject: [PATCH 3/5] update help docs --- doc/nvim-tree-lua.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/nvim-tree-lua.txt b/doc/nvim-tree-lua.txt index a094a834cb4..28d8e0b6694 100644 --- a/doc/nvim-tree-lua.txt +++ b/doc/nvim-tree-lua.txt @@ -3178,6 +3178,7 @@ highlight group is not, hard linking as follows: > |nvim-tree.renderer.icons| |nvim-tree.renderer.icons.bookmarks_placement| |nvim-tree.renderer.icons.diagnostics_placement| +|nvim-tree.renderer.icons.folder_arrow_padding| |nvim-tree.renderer.icons.git_placement| |nvim-tree.renderer.icons.glyphs| |nvim-tree.renderer.icons.glyphs.default| From 3ddef0b008ab5575739332c4792e3743dc18a34a Mon Sep 17 00:00:00 2001 From: smchunn Date: Wed, 30 Apr 2025 21:24:11 -0400 Subject: [PATCH 4/5] refactor: renderer.icons.padding renderer.icons.padding -> renderer.icons.padding.icon renderer.icons.folder_arrow_padding -> renderer.icons.padding.folder_arrow --- doc/nvim-tree-lua.txt | 15 +++++++++------ lua/nvim-tree.lua | 6 ++++-- lua/nvim-tree/legacy.lua | 3 +++ 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/doc/nvim-tree-lua.txt b/doc/nvim-tree-lua.txt index 28d8e0b6694..b3aa35abb2b 100644 --- a/doc/nvim-tree-lua.txt +++ b/doc/nvim-tree-lua.txt @@ -462,8 +462,10 @@ Following is the default configuration. See |nvim-tree-opts| for details. >lua hidden_placement = "after", diagnostics_placement = "signcolumn", bookmarks_placement = "signcolumn", - padding = " ", - folder_arrow_padding = " ", + padding = { + icon = " ", + folder_arrow = " ", + }, symlink_arrow = " ➛ ", show = { file = true, @@ -1066,11 +1068,11 @@ 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.folder_arrow_padding* + *nvim-tree.renderer.icons.padding.folder_arrow* Inserted between folder arrow icon and file/folder icon. Type: `string`, Default: `" "` @@ -3032,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* @@ -3178,7 +3181,6 @@ highlight group is not, hard linking as follows: > |nvim-tree.renderer.icons| |nvim-tree.renderer.icons.bookmarks_placement| |nvim-tree.renderer.icons.diagnostics_placement| -|nvim-tree.renderer.icons.folder_arrow_padding| |nvim-tree.renderer.icons.git_placement| |nvim-tree.renderer.icons.glyphs| |nvim-tree.renderer.icons.glyphs.default| @@ -3189,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 f37968c94aa..3e8c04b75c3 100644 --- a/lua/nvim-tree.lua +++ b/lua/nvim-tree.lua @@ -334,8 +334,10 @@ local DEFAULT_OPTS = { -- BEGIN_DEFAULT_OPTS hidden_placement = "after", diagnostics_placement = "signcolumn", bookmarks_placement = "signcolumn", - padding = " ", - folder_arrow_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..482c39b9003 100644 --- a/lua/nvim-tree/legacy.lua +++ b/lua/nvim-tree/legacy.lua @@ -60,6 +60,9 @@ 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 + utils.move_missing_val(opts, "renderer.icons", "padding", opts, "renderer.icons.padding", "icon", true) end local function deprecated(opts) From fd29fe7643c1fba516283b18b813c636b1e00059 Mon Sep 17 00:00:00 2001 From: Alexander Courtis Date: Fri, 2 May 2025 11:32:05 +1000 Subject: [PATCH 5/5] refactor: renderer.icons.padding --- lua/nvim-tree/legacy.lua | 6 +++++- lua/nvim-tree/renderer/builder.lua | 2 +- lua/nvim-tree/renderer/components/padding.lua | 6 +++--- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/lua/nvim-tree/legacy.lua b/lua/nvim-tree/legacy.lua index 482c39b9003..21f9a72b6cf 100644 --- a/lua/nvim-tree/legacy.lua +++ b/lua/nvim-tree/legacy.lua @@ -62,7 +62,11 @@ local function refactored(opts) utils.move_missing_val(opts, "update_focused_file", "ignore_list", opts, "update_focused_file.update_root", "ignore_list", true) -- 2025/04/30 - utils.move_missing_val(opts, "renderer.icons", "padding", opts, "renderer.icons.padding", "icon", true) + 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 bf9366bb60b..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"] .. M.config.icons.folder_arrow_padding + 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"] .. M.config.icons.folder_arrow_padding + 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 = " " .. string.rep(" ", #M.config.icons.folder_arrow_padding) + str = " " .. string.rep(" ", #M.config.icons.padding.folder_arrow) end return { str = str, hl = { hl } }