From 602b6d1c79b58c430c4cb81d0f3da39f1def4060 Mon Sep 17 00:00:00 2001 From: Toby O'Sullivan <17815047+tobywan@users.noreply.github.com> Date: Mon, 4 Jul 2022 16:25:35 +0100 Subject: [PATCH 1/3] Option to supress displaying symlink destination --- doc/nvim-tree-lua.txt | 5 +++++ lua/nvim-tree.lua | 1 + lua/nvim-tree/renderer/builder.lua | 10 +++++++++- lua/nvim-tree/renderer/init.lua | 1 + 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/doc/nvim-tree-lua.txt b/doc/nvim-tree-lua.txt index 7844bf7ac38..7f2135dc85e 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, @@ -720,6 +721,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 c1e053380ad..639e4c63459 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..f34a93194b3 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()) From fc47e0c538e1cfda3f084bfb4f28e7dbe4de03f2 Mon Sep 17 00:00:00 2001 From: Toby O'Sullivan <17815047+tobywan@users.noreply.github.com> Date: Mon, 4 Jul 2022 16:43:18 +0100 Subject: [PATCH 2/3] Fix linting --- lua/nvim-tree/renderer/builder.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/nvim-tree/renderer/builder.lua b/lua/nvim-tree/renderer/builder.lua index f34a93194b3..67ab5d38505 100644 --- a/lua/nvim-tree/renderer/builder.lua +++ b/lua/nvim-tree/renderer/builder.lua @@ -160,7 +160,7 @@ function Builder:_build_symlink(node, padding, git_highlight, git_icons_tbl) local arrow = icons.i.symlink_arrow local symlink_formatted = node.name if self.symlink_destination then - symlink_formatted = symlink_formatted.. arrow .. node.link_to + symlink_formatted = symlink_formatted.. arrow .. node.link_to end local link_highlight = git_highlight or "NvimTreeSymlink" From f9cd9f817288a0280cea7ef3f10cd7b8fa87301c Mon Sep 17 00:00:00 2001 From: Toby O'Sullivan <17815047+tobywan@users.noreply.github.com> Date: Mon, 4 Jul 2022 20:14:28 +0100 Subject: [PATCH 3/3] Fix linting #2 --- lua/nvim-tree/renderer/builder.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/nvim-tree/renderer/builder.lua b/lua/nvim-tree/renderer/builder.lua index 67ab5d38505..627ce6f5987 100644 --- a/lua/nvim-tree/renderer/builder.lua +++ b/lua/nvim-tree/renderer/builder.lua @@ -160,7 +160,7 @@ function Builder:_build_symlink(node, padding, git_highlight, git_icons_tbl) local arrow = icons.i.symlink_arrow local symlink_formatted = node.name if self.symlink_destination then - symlink_formatted = symlink_formatted.. arrow .. node.link_to + symlink_formatted = symlink_formatted .. arrow .. node.link_to end local link_highlight = git_highlight or "NvimTreeSymlink"