feat(view): add filters.git_clean, filters.no_buffer (#1784)
* feat(view): add filters.git_clean * feat(view): add filters.git_clean * feat(view): add filters.no_buffer * feat(view): filters.no_buffer misses unloaded, handles buffer in/out * feat(view): filters.no_buffer matches directories specifically * feat(view): filters.no_buffer clarify targets * feat: add placeholder filters.diagnostics_ok, refactor filters * feat(view): remove placeholder filters.diagnostics_ok
This commit is contained in:
committed by
GitHub
parent
e49fa4e529
commit
c5dc80c36b
@@ -296,7 +296,7 @@ Subsequent calls to setup will replace the previous configuration.
|
||||
debounce_delay = 50,
|
||||
severity = {
|
||||
min = vim.diagnostic.severity.HINT,
|
||||
max = vim.diagnostic.severity.ERROR
|
||||
max = vim.diagnostic.severity.ERROR,
|
||||
},
|
||||
icons = {
|
||||
hint = "",
|
||||
@@ -307,6 +307,8 @@ Subsequent calls to setup will replace the previous configuration.
|
||||
},
|
||||
filters = {
|
||||
dotfiles = false,
|
||||
git_clean = false,
|
||||
no_buffer = false,
|
||||
custom = {},
|
||||
exclude = {},
|
||||
},
|
||||
@@ -903,6 +905,19 @@ Filtering options.
|
||||
Toggle via the `toggle_dotfiles` action, default mapping `H`.
|
||||
Type: `boolean`, Default: `false`
|
||||
|
||||
*nvim-tree.filters.git_clean*
|
||||
Do not show files with no git status. This will show ignored files when
|
||||
|nvim-tree.git.ignore| is set, as they are effectively dirty.
|
||||
Toggle via the `toggle_git_clean` action, default mapping `C`.
|
||||
Type: `boolean`, Default: `false`
|
||||
|
||||
*nvim-tree.filters.no_buffer*
|
||||
Do not show files that have no listed buffer.
|
||||
Toggle via the `toggle_no_buffer` action, default mapping `B`.
|
||||
For performance reasons this may not immediately update on buffer
|
||||
delete/wipe. A reload or filesystem event will result in an update.
|
||||
Type: `boolean`, Default: `false`
|
||||
|
||||
*nvim-tree.filters.custom*
|
||||
Custom list of vim regex for file/directory names that will not be shown.
|
||||
Backslashes must be escaped e.g. "^\\.git". See |string-match|.
|
||||
@@ -1188,6 +1203,8 @@ exists.
|
||||
- collapse_all `(keep_buffers?: bool)`
|
||||
- expand_all
|
||||
- toggle_gitignore_filter
|
||||
- toggle_git_clean_filter
|
||||
- toggle_no_buffer_filter
|
||||
- toggle_custom_filter
|
||||
- toggle_hidden_filter
|
||||
- toggle_help
|
||||
@@ -1302,55 +1319,57 @@ Single right / middle mouse mappings will requre changes to |mousemodel| or |mou
|
||||
|
||||
DEFAULT MAPPINGS *nvim-tree-default-mappings*
|
||||
|
||||
`<CR>` edit open a file or folder; root will cd to the above directory
|
||||
`<CR>` edit open a file or folder; root will cd to the above directory
|
||||
`o`
|
||||
`<2-LeftMouse>`
|
||||
`<C-e>` edit_in_place edit the file in place, effectively replacing the tree explorer
|
||||
`O` edit_no_picker same as (edit) with no window picker
|
||||
`<C-]>` cd cd in the directory under the cursor
|
||||
`<C-e>` edit_in_place edit the file in place, effectively replacing the tree explorer
|
||||
`O` edit_no_picker same as (edit) with no window picker
|
||||
`<C-]>` cd cd in the directory under the cursor
|
||||
`<2-RightMouse>`
|
||||
`<C-v>` vsplit open the file in a vertical split
|
||||
`<C-x>` split open the file in a horizontal split
|
||||
`<C-t>` tabnew open the file in a new tab
|
||||
`<` prev_sibling navigate to the previous sibling of current file/directory
|
||||
`>` next_sibling navigate to the next sibling of current file/directory
|
||||
`P` parent_node move cursor to the parent directory
|
||||
`<BS>` close_node close current opened directory or parent
|
||||
`<Tab>` preview open the file as a preview (keeps the cursor in the tree)
|
||||
`K` first_sibling navigate to the first sibling of current file/directory
|
||||
`J` last_sibling navigate to the last sibling of current file/directory
|
||||
`I` toggle_git_ignored toggle visibility of files/folders hidden via |git.ignore| option
|
||||
`H` toggle_dotfiles toggle visibility of dotfiles via |filters.dotfiles| option
|
||||
`U` toggle_custom toggle visibility of files/folders hidden via |filters.custom| option
|
||||
`R` refresh refresh the tree
|
||||
`a` create add a file; leaving a trailing `/` will add a directory
|
||||
`d` remove delete a file (will prompt for confirmation)
|
||||
`D` trash trash a file via |trash| option
|
||||
`r` rename rename a file
|
||||
`<C-r>` full_rename rename a file and omit the filename on input
|
||||
`x` cut add/remove file/directory to cut clipboard
|
||||
`c` copy add/remove file/directory to copy clipboard
|
||||
`p` paste paste from clipboard; cut clipboard has precedence over copy; will prompt for confirmation
|
||||
`y` copy_name copy name to system clipboard
|
||||
`Y` copy_path copy relative path to system clipboard
|
||||
`gy` copy_absolute_path copy absolute path to system clipboard
|
||||
`[e` prev_diag_item go to next diagnostic item
|
||||
`[c` prev_git_item go to next git item
|
||||
`]e` next_diag_item go to prev diagnostic item
|
||||
`]c` next_git_item go to prev git item
|
||||
`-` dir_up navigate up to the parent directory of the current file/directory
|
||||
`s` system_open open a file with default system application or a folder with default file manager, using |system_open| option
|
||||
`f` live_filter live filter nodes dynamically based on regex matching.
|
||||
`F` clear_live_filter clear live filter
|
||||
`q` close close tree window
|
||||
`W` collapse_all collapse the whole tree
|
||||
`E` expand_all expand the whole tree, stopping after expanding |actions.expand_all.max_folder_discovery| folders; this might hang neovim for a while if running on a big folder
|
||||
`S` search_node prompt the user to enter a path and then expands the tree to match the path
|
||||
`.` run_file_command enter vim command mode with the file the cursor is on
|
||||
`<C-k>` toggle_file_info toggle a popup with file infos about the file under the cursor
|
||||
`g?` toggle_help toggle help
|
||||
`m` toggle_mark Toggle node in bookmarks
|
||||
`bmv` bulk_move Move all bookmarked nodes into specified location
|
||||
`<C-v>` vsplit open the file in a vertical split
|
||||
`<C-x>` split open the file in a horizontal split
|
||||
`<C-t>` tabnew open the file in a new tab
|
||||
`<` prev_sibling navigate to the previous sibling of current file/directory
|
||||
`>` next_sibling navigate to the next sibling of current file/directory
|
||||
`P` parent_node move cursor to the parent directory
|
||||
`<BS>` close_node close current opened directory or parent
|
||||
`<Tab>` preview open the file as a preview (keeps the cursor in the tree)
|
||||
`K` first_sibling navigate to the first sibling of current file/directory
|
||||
`J` last_sibling navigate to the last sibling of current file/directory
|
||||
`C` toggle_git_clean toggle visibility of git clean via |filters.git_clean| option
|
||||
`I` toggle_git_ignored toggle visibility of files/folders hidden via |git.ignore| option
|
||||
`H` toggle_dotfiles toggle visibility of dotfiles via |filters.dotfiles| option
|
||||
`B` toggle_no_buffer toggle visibility of files/folders hidden via |filters.no_buffer| option
|
||||
`U` toggle_custom toggle visibility of files/folders hidden via |filters.custom| option
|
||||
`R` refresh refresh the tree
|
||||
`a` create add a file; leaving a trailing `/` will add a directory
|
||||
`d` remove delete a file (will prompt for confirmation)
|
||||
`D` trash trash a file via |trash| option
|
||||
`r` rename rename a file
|
||||
`<C-r>` full_rename rename a file and omit the filename on input
|
||||
`x` cut add/remove file/directory to cut clipboard
|
||||
`c` copy add/remove file/directory to copy clipboard
|
||||
`p` paste paste from clipboard; cut clipboard has precedence over copy; will prompt for confirmation
|
||||
`y` copy_name copy name to system clipboard
|
||||
`Y` copy_path copy relative path to system clipboard
|
||||
`gy` copy_absolute_path copy absolute path to system clipboard
|
||||
`[e` prev_diag_item go to next diagnostic item
|
||||
`[c` prev_git_item go to next git item
|
||||
`]e` next_diag_item go to prev diagnostic item
|
||||
`]c` next_git_item go to prev git item
|
||||
`-` dir_up navigate up to the parent directory of the current file/directory
|
||||
`s` system_open open a file with default system application or a folder with default file manager, using |system_open| option
|
||||
`f` live_filter live filter nodes dynamically based on regex matching.
|
||||
`F` clear_live_filter clear live filter
|
||||
`q` close close tree window
|
||||
`W` collapse_all collapse the whole tree
|
||||
`E` expand_all expand the whole tree, stopping after expanding |actions.expand_all.max_folder_discovery| folders; this might hang neovim for a while if running on a big folder
|
||||
`S` search_node prompt the user to enter a path and then expands the tree to match the path
|
||||
`.` run_file_command enter vim command mode with the file the cursor is on
|
||||
`<C-k>` toggle_file_info toggle a popup with file infos about the file under the cursor
|
||||
`g?` toggle_help toggle help
|
||||
`m` toggle_mark Toggle node in bookmarks
|
||||
`bmv` bulk_move Move all bookmarked nodes into specified location
|
||||
|
||||
>
|
||||
view.mappings.list = { -- BEGIN_DEFAULT_MAPPINGS
|
||||
@@ -1368,8 +1387,10 @@ DEFAULT MAPPINGS *nvim-tree-default-mappings
|
||||
{ key = "<Tab>", action = "preview" },
|
||||
{ key = "K", action = "first_sibling" },
|
||||
{ key = "J", action = "last_sibling" },
|
||||
{ key = "C", action = "toggle_git_clean" },
|
||||
{ key = "I", action = "toggle_git_ignored" },
|
||||
{ key = "H", action = "toggle_dotfiles" },
|
||||
{ key = "B", action = "toggle_no_buffer" },
|
||||
{ key = "U", action = "toggle_custom" },
|
||||
{ key = "R", action = "refresh" },
|
||||
{ key = "a", action = "create" },
|
||||
|
||||
Reference in New Issue
Block a user