From 2da1f2613442f2c019d885a516ce438d9df50089 Mon Sep 17 00:00:00 2001 From: Denys Lytviak Date: Wed, 13 Mar 2024 20:21:47 +0100 Subject: [PATCH 1/8] feat: toggle filters --- doc/nvim-tree-lua.txt | 9 +++++++++ lua/nvim-tree.lua | 1 + lua/nvim-tree/actions/tree/modifiers/toggles.lua | 5 +++++ lua/nvim-tree/api.lua | 1 + lua/nvim-tree/explorer/filters.lua | 5 +++++ lua/nvim-tree/keymap.lua | 1 + 6 files changed, 22 insertions(+) diff --git a/doc/nvim-tree-lua.txt b/doc/nvim-tree-lua.txt index 93a3f6f63b9..d1cc4e42549 100644 --- a/doc/nvim-tree-lua.txt +++ b/doc/nvim-tree-lua.txt @@ -165,6 +165,7 @@ Show the mappings: `g?` `>` Next Sibling |nvim-tree-api.node.navigate.sibling.next()| `<` Previous Sibling |nvim-tree-api.node.navigate.sibling.prev()| `.` Run Command |nvim-tree-api.node.run.cmd()| +`,` Toggle All Filters |nvim-tree-api.tree.toggle_filters()| `-` Up |nvim-tree-api.tree.change_root_to_parent()| `a` Create File Or Directory |nvim-tree-api.fs.create()| `bd` Delete Bookmarked |nvim-tree-api.marks.bulk.delete()| @@ -537,6 +538,7 @@ Following is the default configuration. See |nvim-tree-opts| for details. show_on_open_dirs = true, }, filters = { + disabled = false, git_ignored = true, dotfiles = false, git_clean = false, @@ -1242,6 +1244,11 @@ Only relevant when |modified.show_on_dirs| is `true`. File / folder filters that may be toggled. +*nvim-tree.filters.disabled* +Ignores all enabled filters. +Toggle via |nvim-tree-api.tree.toggle_filters()|, default `,` + Type: `boolean`, Default: `false` + *nvim-tree.filters.git_ignored* Ignore files based on `.gitignore`. Requires |git.enable| `= true` Toggle via |nvim-tree-api.tree.toggle_gitignore_filter()|, default `I` @@ -2221,6 +2228,7 @@ You are encouraged to copy these to your own |nvim-tree.on_attach| function. vim.keymap.set('n', '>', api.node.navigate.sibling.next, opts('Next Sibling')) vim.keymap.set('n', '<', api.node.navigate.sibling.prev, opts('Previous Sibling')) vim.keymap.set('n', '.', api.node.run.cmd, opts('Run Command')) + vim.keymap.set('n', ',', api.tree.toggle_filters, opts('Toggle All Filters')) vim.keymap.set('n', '-', api.tree.change_root_to_parent, opts('Up')) vim.keymap.set('n', 'a', api.fs.create, opts('Create File Or Directory')) vim.keymap.set('n', 'bd', api.marks.bulk.delete, opts('Delete Bookmarked')) @@ -2756,6 +2764,7 @@ highlight group is not, hard linking as follows: > |nvim-tree.filesystem_watchers.enable| |nvim-tree.filesystem_watchers.ignore_dirs| |nvim-tree.filters.custom| +|nvim-tree.filters.disabled| |nvim-tree.filters.dotfiles| |nvim-tree.filters.exclude| |nvim-tree.filters.git_clean| diff --git a/lua/nvim-tree.lua b/lua/nvim-tree.lua index 999a13b1abf..2b42a3ced09 100644 --- a/lua/nvim-tree.lua +++ b/lua/nvim-tree.lua @@ -499,6 +499,7 @@ local DEFAULT_OPTS = { -- BEGIN_DEFAULT_OPTS show_on_open_dirs = true, }, filters = { + disabled = false, git_ignored = true, dotfiles = false, git_clean = false, diff --git a/lua/nvim-tree/actions/tree/modifiers/toggles.lua b/lua/nvim-tree/actions/tree/modifiers/toggles.lua index 709926ff7d3..759fd03caf6 100644 --- a/lua/nvim-tree/actions/tree/modifiers/toggles.lua +++ b/lua/nvim-tree/actions/tree/modifiers/toggles.lua @@ -41,4 +41,9 @@ function M.dotfiles() reload() end +function M.disable() + filters.config.filters_disabled = not filters.config.filters_disabled + reload() +end + return M diff --git a/lua/nvim-tree/api.lua b/lua/nvim-tree/api.lua index 9587b813a87..429195c1028 100644 --- a/lua/nvim-tree/api.lua +++ b/lua/nvim-tree/api.lua @@ -128,6 +128,7 @@ Api.tree.find_file = wrap(actions.tree.find_file.fn) Api.tree.search_node = wrap(actions.finders.search_node.fn) Api.tree.collapse_all = wrap(actions.tree.modifiers.collapse_all.fn) Api.tree.expand_all = wrap_node(actions.tree.modifiers.expand_all.fn) +Api.tree.toggle_filters = wrap(actions.tree.modifiers.toggles.disable) Api.tree.toggle_gitignore_filter = wrap(actions.tree.modifiers.toggles.git_ignored) Api.tree.toggle_git_clean_filter = wrap(actions.tree.modifiers.toggles.git_clean) Api.tree.toggle_no_buffer_filter = wrap(actions.tree.modifiers.toggles.no_buffer) diff --git a/lua/nvim-tree/explorer/filters.lua b/lua/nvim-tree/explorer/filters.lua index 395e3927b75..a9e52c3b9bd 100644 --- a/lua/nvim-tree/explorer/filters.lua +++ b/lua/nvim-tree/explorer/filters.lua @@ -137,6 +137,10 @@ end ---@param status table from prepare ---@return boolean function M.should_filter(path, status) + if M.config.filters_disabled then + return false + end + -- exclusions override all filters if is_excluded(path) then return false @@ -153,6 +157,7 @@ function M.setup(opts) filter_git_clean = opts.filters.git_clean, filter_no_buffer = opts.filters.no_buffer, filter_no_bookmark = opts.filters.no_bookmark, + filters_disabled = opts.filters.disabled, } M.ignore_list = {} diff --git a/lua/nvim-tree/keymap.lua b/lua/nvim-tree/keymap.lua index 1999c73d262..bc1e6cd9c97 100644 --- a/lua/nvim-tree/keymap.lua +++ b/lua/nvim-tree/keymap.lua @@ -48,6 +48,7 @@ function M.default_on_attach(bufnr) vim.keymap.set('n', '>', api.node.navigate.sibling.next, opts('Next Sibling')) vim.keymap.set('n', '<', api.node.navigate.sibling.prev, opts('Previous Sibling')) vim.keymap.set('n', '.', api.node.run.cmd, opts('Run Command')) + vim.keymap.set('n', ',', api.tree.toggle_filters, opts('Toggle All Filters')) vim.keymap.set('n', '-', api.tree.change_root_to_parent, opts('Up')) vim.keymap.set('n', 'a', api.fs.create, opts('Create File Or Directory')) vim.keymap.set('n', 'bd', api.marks.bulk.delete, opts('Delete Bookmarked')) From cccd62f6c3f69740f8998cd7a9d67235de6ab2df Mon Sep 17 00:00:00 2001 From: Denys Lytviak Date: Thu, 14 Mar 2024 11:15:45 +0100 Subject: [PATCH 2/8] naming refactoring --- doc/nvim-tree-lua.txt | 6 +++--- lua/nvim-tree/actions/tree/modifiers/toggles.lua | 2 +- lua/nvim-tree/api.lua | 2 +- lua/nvim-tree/keymap.lua | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/doc/nvim-tree-lua.txt b/doc/nvim-tree-lua.txt index d1cc4e42549..6a5f22546ba 100644 --- a/doc/nvim-tree-lua.txt +++ b/doc/nvim-tree-lua.txt @@ -165,7 +165,7 @@ Show the mappings: `g?` `>` Next Sibling |nvim-tree-api.node.navigate.sibling.next()| `<` Previous Sibling |nvim-tree-api.node.navigate.sibling.prev()| `.` Run Command |nvim-tree-api.node.run.cmd()| -`,` Toggle All Filters |nvim-tree-api.tree.toggle_filters()| +`,` Toggle Filters Disabled |nvim-tree-api.tree.toggle_filters_disabled()| `-` Up |nvim-tree-api.tree.change_root_to_parent()| `a` Create File Or Directory |nvim-tree-api.fs.create()| `bd` Delete Bookmarked |nvim-tree-api.marks.bulk.delete()| @@ -1246,7 +1246,7 @@ File / folder filters that may be toggled. *nvim-tree.filters.disabled* Ignores all enabled filters. -Toggle via |nvim-tree-api.tree.toggle_filters()|, default `,` +Toggle via |nvim-tree-api.tree.toggle_filters_disabled()|, default `,` Type: `boolean`, Default: `false` *nvim-tree.filters.git_ignored* @@ -2228,7 +2228,7 @@ You are encouraged to copy these to your own |nvim-tree.on_attach| function. vim.keymap.set('n', '>', api.node.navigate.sibling.next, opts('Next Sibling')) vim.keymap.set('n', '<', api.node.navigate.sibling.prev, opts('Previous Sibling')) vim.keymap.set('n', '.', api.node.run.cmd, opts('Run Command')) - vim.keymap.set('n', ',', api.tree.toggle_filters, opts('Toggle All Filters')) + vim.keymap.set('n', ',', api.tree.toggle_filters_disabled, opts('Toggle Filters Disabled')) vim.keymap.set('n', '-', api.tree.change_root_to_parent, opts('Up')) vim.keymap.set('n', 'a', api.fs.create, opts('Create File Or Directory')) vim.keymap.set('n', 'bd', api.marks.bulk.delete, opts('Delete Bookmarked')) diff --git a/lua/nvim-tree/actions/tree/modifiers/toggles.lua b/lua/nvim-tree/actions/tree/modifiers/toggles.lua index 759fd03caf6..27c0cb4f3b2 100644 --- a/lua/nvim-tree/actions/tree/modifiers/toggles.lua +++ b/lua/nvim-tree/actions/tree/modifiers/toggles.lua @@ -41,7 +41,7 @@ function M.dotfiles() reload() end -function M.disable() +function M.disabled() filters.config.filters_disabled = not filters.config.filters_disabled reload() end diff --git a/lua/nvim-tree/api.lua b/lua/nvim-tree/api.lua index 429195c1028..0dfe5917f54 100644 --- a/lua/nvim-tree/api.lua +++ b/lua/nvim-tree/api.lua @@ -128,7 +128,7 @@ Api.tree.find_file = wrap(actions.tree.find_file.fn) Api.tree.search_node = wrap(actions.finders.search_node.fn) Api.tree.collapse_all = wrap(actions.tree.modifiers.collapse_all.fn) Api.tree.expand_all = wrap_node(actions.tree.modifiers.expand_all.fn) -Api.tree.toggle_filters = wrap(actions.tree.modifiers.toggles.disable) +Api.tree.toggle_filters_disabled = wrap(actions.tree.modifiers.toggles.disabled) Api.tree.toggle_gitignore_filter = wrap(actions.tree.modifiers.toggles.git_ignored) Api.tree.toggle_git_clean_filter = wrap(actions.tree.modifiers.toggles.git_clean) Api.tree.toggle_no_buffer_filter = wrap(actions.tree.modifiers.toggles.no_buffer) diff --git a/lua/nvim-tree/keymap.lua b/lua/nvim-tree/keymap.lua index bc1e6cd9c97..f11f2006c38 100644 --- a/lua/nvim-tree/keymap.lua +++ b/lua/nvim-tree/keymap.lua @@ -48,7 +48,7 @@ function M.default_on_attach(bufnr) vim.keymap.set('n', '>', api.node.navigate.sibling.next, opts('Next Sibling')) vim.keymap.set('n', '<', api.node.navigate.sibling.prev, opts('Previous Sibling')) vim.keymap.set('n', '.', api.node.run.cmd, opts('Run Command')) - vim.keymap.set('n', ',', api.tree.toggle_filters, opts('Toggle All Filters')) + vim.keymap.set('n', ',', api.tree.toggle_filters_disabled, opts('Toggle Filters Disabled')) vim.keymap.set('n', '-', api.tree.change_root_to_parent, opts('Up')) vim.keymap.set('n', 'a', api.fs.create, opts('Create File Or Directory')) vim.keymap.set('n', 'bd', api.marks.bulk.delete, opts('Delete Bookmarked')) From 28464e77b793f227ee25ea84a0d50a7949213957 Mon Sep 17 00:00:00 2001 From: Denys Lytviak Date: Thu, 14 Mar 2024 11:47:53 +0100 Subject: [PATCH 3/8] change name to enable --- doc/nvim-tree-lua.txt | 12 ++++++------ lua/nvim-tree/actions/tree/modifiers/toggles.lua | 4 ++-- lua/nvim-tree/api.lua | 2 +- lua/nvim-tree/explorer/filters.lua | 4 ++-- lua/nvim-tree/keymap.lua | 2 +- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/doc/nvim-tree-lua.txt b/doc/nvim-tree-lua.txt index 6a5f22546ba..ba9dba1fc79 100644 --- a/doc/nvim-tree-lua.txt +++ b/doc/nvim-tree-lua.txt @@ -1244,10 +1244,10 @@ Only relevant when |modified.show_on_dirs| is `true`. File / folder filters that may be toggled. -*nvim-tree.filters.disabled* -Ignores all enabled filters. -Toggle via |nvim-tree-api.tree.toggle_filters_disabled()|, default `,` - Type: `boolean`, Default: `false` +*nvim-tree.filters.enable* +Enable / disable filters. +Toggle via |nvim-tree-api.tree.toggle_enable_filters()|, default `,` + Type: `boolean`, Default: `true` *nvim-tree.filters.git_ignored* Ignore files based on `.gitignore`. Requires |git.enable| `= true` @@ -2228,7 +2228,7 @@ You are encouraged to copy these to your own |nvim-tree.on_attach| function. vim.keymap.set('n', '>', api.node.navigate.sibling.next, opts('Next Sibling')) vim.keymap.set('n', '<', api.node.navigate.sibling.prev, opts('Previous Sibling')) vim.keymap.set('n', '.', api.node.run.cmd, opts('Run Command')) - vim.keymap.set('n', ',', api.tree.toggle_filters_disabled, opts('Toggle Filters Disabled')) + vim.keymap.set('n', ',', api.tree.toggle_enable_filters, opts('Toggle Enable Filters')) vim.keymap.set('n', '-', api.tree.change_root_to_parent, opts('Up')) vim.keymap.set('n', 'a', api.fs.create, opts('Create File Or Directory')) vim.keymap.set('n', 'bd', api.marks.bulk.delete, opts('Delete Bookmarked')) @@ -2764,8 +2764,8 @@ highlight group is not, hard linking as follows: > |nvim-tree.filesystem_watchers.enable| |nvim-tree.filesystem_watchers.ignore_dirs| |nvim-tree.filters.custom| -|nvim-tree.filters.disabled| |nvim-tree.filters.dotfiles| +|nvim-tree.filters.enable| |nvim-tree.filters.exclude| |nvim-tree.filters.git_clean| |nvim-tree.filters.git_ignored| diff --git a/lua/nvim-tree/actions/tree/modifiers/toggles.lua b/lua/nvim-tree/actions/tree/modifiers/toggles.lua index 27c0cb4f3b2..1d0c4e472ab 100644 --- a/lua/nvim-tree/actions/tree/modifiers/toggles.lua +++ b/lua/nvim-tree/actions/tree/modifiers/toggles.lua @@ -41,8 +41,8 @@ function M.dotfiles() reload() end -function M.disabled() - filters.config.filters_disabled = not filters.config.filters_disabled +function M.enable() + filters.config.enable = not filters.config.enable reload() end diff --git a/lua/nvim-tree/api.lua b/lua/nvim-tree/api.lua index 0dfe5917f54..8134b846cf9 100644 --- a/lua/nvim-tree/api.lua +++ b/lua/nvim-tree/api.lua @@ -128,7 +128,7 @@ Api.tree.find_file = wrap(actions.tree.find_file.fn) Api.tree.search_node = wrap(actions.finders.search_node.fn) Api.tree.collapse_all = wrap(actions.tree.modifiers.collapse_all.fn) Api.tree.expand_all = wrap_node(actions.tree.modifiers.expand_all.fn) -Api.tree.toggle_filters_disabled = wrap(actions.tree.modifiers.toggles.disabled) +Api.tree.toggle_filters_enable = wrap(actions.tree.modifiers.toggles.enable) Api.tree.toggle_gitignore_filter = wrap(actions.tree.modifiers.toggles.git_ignored) Api.tree.toggle_git_clean_filter = wrap(actions.tree.modifiers.toggles.git_clean) Api.tree.toggle_no_buffer_filter = wrap(actions.tree.modifiers.toggles.no_buffer) diff --git a/lua/nvim-tree/explorer/filters.lua b/lua/nvim-tree/explorer/filters.lua index a9e52c3b9bd..4c0d298d6bb 100644 --- a/lua/nvim-tree/explorer/filters.lua +++ b/lua/nvim-tree/explorer/filters.lua @@ -137,7 +137,7 @@ end ---@param status table from prepare ---@return boolean function M.should_filter(path, status) - if M.config.filters_disabled then + if not M.config.enable then return false end @@ -151,13 +151,13 @@ end function M.setup(opts) M.config = { + enable = opts.filters.enable, filter_custom = true, filter_dotfiles = opts.filters.dotfiles, filter_git_ignored = opts.filters.git_ignored, filter_git_clean = opts.filters.git_clean, filter_no_buffer = opts.filters.no_buffer, filter_no_bookmark = opts.filters.no_bookmark, - filters_disabled = opts.filters.disabled, } M.ignore_list = {} diff --git a/lua/nvim-tree/keymap.lua b/lua/nvim-tree/keymap.lua index f11f2006c38..8f23be007c4 100644 --- a/lua/nvim-tree/keymap.lua +++ b/lua/nvim-tree/keymap.lua @@ -48,7 +48,7 @@ function M.default_on_attach(bufnr) vim.keymap.set('n', '>', api.node.navigate.sibling.next, opts('Next Sibling')) vim.keymap.set('n', '<', api.node.navigate.sibling.prev, opts('Previous Sibling')) vim.keymap.set('n', '.', api.node.run.cmd, opts('Run Command')) - vim.keymap.set('n', ',', api.tree.toggle_filters_disabled, opts('Toggle Filters Disabled')) + vim.keymap.set('n', ',', api.tree.toggle_enable_filters, opts('Toggle Enable Filters')) vim.keymap.set('n', '-', api.tree.change_root_to_parent, opts('Up')) vim.keymap.set('n', 'a', api.fs.create, opts('Create File Or Directory')) vim.keymap.set('n', 'bd', api.marks.bulk.delete, opts('Delete Bookmarked')) From 9cba7e0d0ecb4e539f989772064156fe3143c76d Mon Sep 17 00:00:00 2001 From: Denys Lytviak Date: Thu, 14 Mar 2024 11:49:33 +0100 Subject: [PATCH 4/8] fix default opt --- lua/nvim-tree.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/nvim-tree.lua b/lua/nvim-tree.lua index 2b42a3ced09..0c2d8752dc2 100644 --- a/lua/nvim-tree.lua +++ b/lua/nvim-tree.lua @@ -499,7 +499,7 @@ local DEFAULT_OPTS = { -- BEGIN_DEFAULT_OPTS show_on_open_dirs = true, }, filters = { - disabled = false, + enable = true, git_ignored = true, dotfiles = false, git_clean = false, From 36c23274a7ba1ee2caea31793edd07a6530702c0 Mon Sep 17 00:00:00 2001 From: Denys Lytviak Date: Thu, 14 Mar 2024 11:53:17 +0100 Subject: [PATCH 5/8] fix api name --- lua/nvim-tree/api.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/nvim-tree/api.lua b/lua/nvim-tree/api.lua index 8134b846cf9..f32253985d7 100644 --- a/lua/nvim-tree/api.lua +++ b/lua/nvim-tree/api.lua @@ -128,7 +128,7 @@ Api.tree.find_file = wrap(actions.tree.find_file.fn) Api.tree.search_node = wrap(actions.finders.search_node.fn) Api.tree.collapse_all = wrap(actions.tree.modifiers.collapse_all.fn) Api.tree.expand_all = wrap_node(actions.tree.modifiers.expand_all.fn) -Api.tree.toggle_filters_enable = wrap(actions.tree.modifiers.toggles.enable) +Api.tree.toggle_enable_filters = wrap(actions.tree.modifiers.toggles.enable) Api.tree.toggle_gitignore_filter = wrap(actions.tree.modifiers.toggles.git_ignored) Api.tree.toggle_git_clean_filter = wrap(actions.tree.modifiers.toggles.git_clean) Api.tree.toggle_no_buffer_filter = wrap(actions.tree.modifiers.toggles.no_buffer) From d604310cad5cc6855efb827596330f4227c84cbe Mon Sep 17 00:00:00 2001 From: Denys Lytviak Date: Thu, 14 Mar 2024 11:54:31 +0100 Subject: [PATCH 6/8] update doc --- doc/nvim-tree-lua.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/nvim-tree-lua.txt b/doc/nvim-tree-lua.txt index ba9dba1fc79..044a5efb156 100644 --- a/doc/nvim-tree-lua.txt +++ b/doc/nvim-tree-lua.txt @@ -165,7 +165,7 @@ Show the mappings: `g?` `>` Next Sibling |nvim-tree-api.node.navigate.sibling.next()| `<` Previous Sibling |nvim-tree-api.node.navigate.sibling.prev()| `.` Run Command |nvim-tree-api.node.run.cmd()| -`,` Toggle Filters Disabled |nvim-tree-api.tree.toggle_filters_disabled()| +`,` Toggle Enable Filters |nvim-tree-api.tree.toggle_enable_filters()| `-` Up |nvim-tree-api.tree.change_root_to_parent()| `a` Create File Or Directory |nvim-tree-api.fs.create()| `bd` Delete Bookmarked |nvim-tree-api.marks.bulk.delete()| @@ -538,7 +538,7 @@ Following is the default configuration. See |nvim-tree-opts| for details. show_on_open_dirs = true, }, filters = { - disabled = false, + enable = true, git_ignored = true, dotfiles = false, git_clean = false, From bb7eee06a1d82f1ec65f78df3a36452fbb8a8631 Mon Sep 17 00:00:00 2001 From: Denys Lytviak Date: Fri, 15 Mar 2024 12:43:58 +0100 Subject: [PATCH 7/8] remove default keybinding, toggle live filter --- doc/nvim-tree-lua.txt | 7 +++---- lua/nvim-tree/keymap.lua | 1 - lua/nvim-tree/live-filter.lua | 5 +++++ 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/doc/nvim-tree-lua.txt b/doc/nvim-tree-lua.txt index 044a5efb156..1c716e4dbf5 100644 --- a/doc/nvim-tree-lua.txt +++ b/doc/nvim-tree-lua.txt @@ -165,7 +165,6 @@ Show the mappings: `g?` `>` Next Sibling |nvim-tree-api.node.navigate.sibling.next()| `<` Previous Sibling |nvim-tree-api.node.navigate.sibling.prev()| `.` Run Command |nvim-tree-api.node.run.cmd()| -`,` Toggle Enable Filters |nvim-tree-api.tree.toggle_enable_filters()| `-` Up |nvim-tree-api.tree.change_root_to_parent()| `a` Create File Or Directory |nvim-tree-api.fs.create()| `bd` Delete Bookmarked |nvim-tree-api.marks.bulk.delete()| @@ -1245,8 +1244,8 @@ Only relevant when |modified.show_on_dirs| is `true`. File / folder filters that may be toggled. *nvim-tree.filters.enable* -Enable / disable filters. -Toggle via |nvim-tree-api.tree.toggle_enable_filters()|, default `,` +Enable / disable all filters including live filter. +Toggle via |nvim-tree-api.tree.toggle_enable_filters()| Type: `boolean`, Default: `true` *nvim-tree.filters.git_ignored* @@ -2228,7 +2227,6 @@ You are encouraged to copy these to your own |nvim-tree.on_attach| function. vim.keymap.set('n', '>', api.node.navigate.sibling.next, opts('Next Sibling')) vim.keymap.set('n', '<', api.node.navigate.sibling.prev, opts('Previous Sibling')) vim.keymap.set('n', '.', api.node.run.cmd, opts('Run Command')) - vim.keymap.set('n', ',', api.tree.toggle_enable_filters, opts('Toggle Enable Filters')) vim.keymap.set('n', '-', api.tree.change_root_to_parent, opts('Up')) vim.keymap.set('n', 'a', api.fs.create, opts('Create File Or Directory')) vim.keymap.set('n', 'bd', api.marks.bulk.delete, opts('Delete Bookmarked')) @@ -2974,6 +2972,7 @@ highlight group is not, hard linking as follows: > |nvim-tree-api.tree.reload()| |nvim-tree-api.tree.search_node()| |nvim-tree-api.tree.toggle()| +|nvim-tree-api.tree.toggle_enable_filters()| |nvim-tree-api.tree.toggle_custom_filter()| |nvim-tree-api.tree.toggle_git_clean_filter()| |nvim-tree-api.tree.toggle_gitignore_filter()| diff --git a/lua/nvim-tree/keymap.lua b/lua/nvim-tree/keymap.lua index 8f23be007c4..1999c73d262 100644 --- a/lua/nvim-tree/keymap.lua +++ b/lua/nvim-tree/keymap.lua @@ -48,7 +48,6 @@ function M.default_on_attach(bufnr) vim.keymap.set('n', '>', api.node.navigate.sibling.next, opts('Next Sibling')) vim.keymap.set('n', '<', api.node.navigate.sibling.prev, opts('Previous Sibling')) vim.keymap.set('n', '.', api.node.run.cmd, opts('Run Command')) - vim.keymap.set('n', ',', api.tree.toggle_enable_filters, opts('Toggle Enable Filters')) vim.keymap.set('n', '-', api.tree.change_root_to_parent, opts('Up')) vim.keymap.set('n', 'a', api.fs.create, opts('Create File Or Directory')) vim.keymap.set('n', 'bd', api.marks.bulk.delete, opts('Delete Bookmarked')) diff --git a/lua/nvim-tree/live-filter.lua b/lua/nvim-tree/live-filter.lua index f19ed5c01b5..2f60610657c 100644 --- a/lua/nvim-tree/live-filter.lua +++ b/lua/nvim-tree/live-filter.lua @@ -1,6 +1,7 @@ local view = require "nvim-tree.view" local utils = require "nvim-tree.utils" local Iterator = require "nvim-tree.iterators.node-iterator" +local filters = require "nvim-tree.explorer.filters" local M = { filter = nil, @@ -56,6 +57,10 @@ end ---@param node Node ---@return boolean local function matches(node) + if not filters.config.enable then + return true + end + local path = node.absolute_path local name = vim.fn.fnamemodify(path, ":t") return vim.regex(M.filter):match_str(name) ~= nil From 71e1b7db4bdb1aeeeb6749e19719bf0ce4d7d311 Mon Sep 17 00:00:00 2001 From: Alexander Courtis Date: Sat, 16 Mar 2024 12:34:34 +1100 Subject: [PATCH 8/8] add API doc --- doc/nvim-tree-lua.txt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/doc/nvim-tree-lua.txt b/doc/nvim-tree-lua.txt index 1c716e4dbf5..81a3edd4209 100644 --- a/doc/nvim-tree-lua.txt +++ b/doc/nvim-tree-lua.txt @@ -1708,6 +1708,10 @@ tree.expand_all() *nvim-tree-api.tree.expand_all()* Recursively expand all nodes in the tree. Folder: only the nodes underneath that folder. + *nvim-tree-api.tree.toggle_enable_filters()* +tree.toggle_enable_filters() + Toggle |nvim-tree.filters.enable| all filters. + *nvim-tree-api.tree.toggle_gitignore_filter()* tree.toggle_gitignore_filter() Toggle |nvim-tree.filters.git_ignored| filter. @@ -2972,8 +2976,8 @@ highlight group is not, hard linking as follows: > |nvim-tree-api.tree.reload()| |nvim-tree-api.tree.search_node()| |nvim-tree-api.tree.toggle()| -|nvim-tree-api.tree.toggle_enable_filters()| |nvim-tree-api.tree.toggle_custom_filter()| +|nvim-tree-api.tree.toggle_enable_filters()| |nvim-tree-api.tree.toggle_git_clean_filter()| |nvim-tree-api.tree.toggle_gitignore_filter()| |nvim-tree-api.tree.toggle_help()|