diff --git a/doc/nvim-tree-lua.txt b/doc/nvim-tree-lua.txt index ebffcf47a59..84e4e4ee3fe 100644 --- a/doc/nvim-tree-lua.txt +++ b/doc/nvim-tree-lua.txt @@ -238,6 +238,7 @@ Subsequent calls to setup will replace the previous configuration. }, }, special_files = { "Cargo.toml", "Makefile", "README.md", "readme.md" }, + symlink_destination = true, }, hijack_directories = { enable = true, @@ -725,6 +726,10 @@ UI rendering setup A list of filenames that gets highlighted with `NvimTreeSpecialFile`. Type: `table`, Default: `{ "Cargo.toml", "Makefile", "README.md", "readme.md", }` + *nvim-tree.renderer.symlink_destination* + Whether to show the destination of the symlink. + Type: `boolean`, Default: `true` + *nvim-tree.filters* Filtering options. diff --git a/lua/nvim-tree.lua b/lua/nvim-tree.lua index 09e8ca0905b..92bb1db4ed1 100644 --- a/lua/nvim-tree.lua +++ b/lua/nvim-tree.lua @@ -491,6 +491,7 @@ local DEFAULT_OPTS = { -- BEGIN_DEFAULT_OPTS }, }, special_files = { "Cargo.toml", "Makefile", "README.md", "readme.md" }, + symlink_destination = true, }, hijack_directories = { enable = true, diff --git a/lua/nvim-tree/renderer/builder.lua b/lua/nvim-tree/renderer/builder.lua index e2a59228f0c..627ce6f5987 100644 --- a/lua/nvim-tree/renderer/builder.lua +++ b/lua/nvim-tree/renderer/builder.lua @@ -70,6 +70,11 @@ function Builder:configure_git_icons_placement(where) return self end +function Builder:configure_symlink_destination(show) + self.symlink_destination = show + return self +end + function Builder:_insert_highlight(group, start, end_) table.insert(self.highlights, { group, self.index, start, end_ or -1 }) end @@ -153,7 +158,10 @@ function Builder:_build_symlink(node, padding, git_highlight, git_icons_tbl) local icon = icons.i.symlink local arrow = icons.i.symlink_arrow - local symlink_formatted = node.name .. arrow .. node.link_to + local symlink_formatted = node.name + if self.symlink_destination then + symlink_formatted = symlink_formatted .. arrow .. node.link_to + end local link_highlight = git_highlight or "NvimTreeSymlink" diff --git a/lua/nvim-tree/renderer/init.lua b/lua/nvim-tree/renderer/init.lua index 57203e63f21..d5913c93f96 100644 --- a/lua/nvim-tree/renderer/init.lua +++ b/lua/nvim-tree/renderer/init.lua @@ -76,6 +76,7 @@ function M.draw() :configure_opened_file_highlighting(M.config.highlight_opened_files) :configure_git_icons_padding(M.config.icons.padding) :configure_git_icons_placement(M.config.icons.git_placement) + :configure_symlink_destination(M.config.symlink_destination) :configure_filter(live_filter.filter, live_filter.prefix) :build_header(view.is_root_folder_visible(core.get_cwd())) :build(core.get_explorer())