-
-
Notifications
You must be signed in to change notification settings - Fork 610
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(view): add filters.git_clean, filters.no_buffer #1784
Conversation
Awaiting test via #1692 |
Very nice @alex-courtis! I have noticed that after filtering by open buffers only I get plenty of errors repeating constantly, reported and related to Noice. Not sure if that is problem with nvim-tree or Noice.
Regardless, this is a very welcomed functionality! |
Thanks for poking at this!
Interesting... I couldn't replicate with the default config with nvim-notify and nui. Any hints? I do note "Highly Experimental" and some annoying popup flashes when executing Regardless, it would be good to get to the bottom of this as it's likely a real problem. |
It works just fine without noice (and with |
@gegoune no worries :) I think I just fixed that problem. Would be great if you could confirm. |
@folke Thank you very much! It does indeed work now without any errors being logged. Hero! :) |
Wow so quick, thank you @folke |
I might just finish diagnostics and release. New functionality is basically hidden behind the "feature flags" of the actions so no existing functionality should be affected. |
Abandoned diagnostics. It's going to take some significant refactoring to make it performant. |
This is very useful functionality, thank you! |
…aults (#1777) * chore(mappings): remove mappings via vim.keymap.del instead of filtering mappings, to allow for multiple ways of specifying a key * doc: specify that the terminal emulator must be configured to use the patched font * feat(renderer): add NvimTreeOpenedFolderIcon NvimTreeClosedFolderIcon (#1768) * feat: Add highlight group for opened folder closes #1674 * docs: Add NvimTreeOpenedFolderIcon default * feat: Add NvimTreeClosedFolderIcon highlight group Defaults to NvimTreeFolderIcon * feat: add diagnostics.show_on_open_dirs git.show_on_open_dirs (#1778) * feat(diagnostics): only show diagnostic on closed folder * feat(git): only show git icon on closed folder * docs: Update feature_request.md (#1788) * Update feature_request.md Closes #1654 * Update feature_request.md Co-authored-by: Alexander Courtis <alex@courtis.org> * 1786 git next prev land on dirs (#1787) * Filtered dir with git status that are open when show_on_open_dir is false * refactored for single source of truth of existence of git status on a node Putting `has_git_status()` in `explorer.common` because that's where node.status is constructed Or at least I think that's where it's constructed * 1786 semantic nit Co-authored-by: Alexander Courtis <alex@courtis.org> * fix(git): git rename not showing up for the renamed file (#1783) * fixed git rename not showing up for the renamed file * considered " -> " being a part of the filename Fixed -> pattern to escape - Fixed "\"" and "\\" in filename * using string.find(, , true) to match plain -> * Using -z and removed unnecessary logic * feat(view): always enable cursorline, users may change this behaviour via Event.TreeOpen (#1814) * Update view.lua * set cursorline to true * feat(event): dispatch Event.NodeRenamed on cut-paste (#1817) * 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 * doc: consolidate and clarify :help examples * doc: format help * feat: paste and create always target closed folder, remove create_in_closed_folder (#1802) * Fix default for file creation in closed directories * Make paste in closed directories consistent with create * doc: clarify create_in_closed_folder * Remove create_in_closed_folder option * doc: clarify create_in_closed_folder removal message (whoops) Co-authored-by: Alexander Courtis <alex@courtis.org> * on_attach is user's or default, nothing else; legacy generated on_attach includes defaults Co-authored-by: baahrens <bahrens@compeon.de> Co-authored-by: Richard Li <38484873+chomosuke@users.noreply.github.com> Co-authored-by: gegoune <69750637+gegoune@users.noreply.github.com> Co-authored-by: rishabhjain9191 <rishabh.jain9191@gmail.com> Co-authored-by: Anton <14187674+antosha417@users.noreply.github.com> Co-authored-by: Eric Haynes <ehaynes99@gmail.com>
* coding style * outlined git.show_on_open_dirs behavior * show some icon on opendir even if show_on_open_dir=false and show all children's status on parent * fixed renamed icon not showing * sorted icons * removed DU from deleted as file will show up in tree * fixed update_git_status in reloaders not tested * fixed Api.git.reload() Tested update_git_status in reloaders.lua * sort icon only if not git signcolumn * fixed crashing when root dir isn't git dir * made git.show_on_dirs doc more concise * git_statuses -> git_status for consistency * explorer/common.lua -> explorer/node.lua * fixed #1784 conflict * don't order icons * Revert "don't order icons" This reverts commit 23f6276.
…ttps://github.com/nvim-tree/nvim-tree.lua/wiki/Migrating-To-on_attach (#1579) * chore(mappings): migrate legacy mappings under the hood * chore(mappings): POC for help and :help on_attach keymaps * chore(mappings): POC for help and :help on_attach keymaps * chore(mappings): add desc to all mappings, show in help, reformat help * chore(mappings): add desc to all mappings * chore(mappings): add desc to all mappings * chore(mappings): escape help keys * chore(mappings): migrate legacy mappings under the hood: map keymap to legacy mappings * chore(mappings): migrate legacy mappings under the hood: remove dispatch * Revert "chore(mappings): migrate legacy mappings under the hood: remove dispatch" This reverts commit f6f439b. * chore(mappings): migrate legacy mappings under the hood: pass node to action_cb * chore(mappings): migrate legacy mappings under the hood: remove dispatch * chore(mappings): migrate legacy mappings under the hood: replace mappigns with keymaps in help * chore(mappings): generate on_attach from user's legacy mappings * chore(mappings): generate on_attach from user's legacy mappings * chore(mappings): merge cleanup * chore(mappings): use default mappings when on_attach not present, log legacy migration * on_attach is default or user only, legacy and generation includes defaults (#1777) * chore(mappings): remove mappings via vim.keymap.del instead of filtering mappings, to allow for multiple ways of specifying a key * doc: specify that the terminal emulator must be configured to use the patched font * feat(renderer): add NvimTreeOpenedFolderIcon NvimTreeClosedFolderIcon (#1768) * feat: Add highlight group for opened folder closes #1674 * docs: Add NvimTreeOpenedFolderIcon default * feat: Add NvimTreeClosedFolderIcon highlight group Defaults to NvimTreeFolderIcon * feat: add diagnostics.show_on_open_dirs git.show_on_open_dirs (#1778) * feat(diagnostics): only show diagnostic on closed folder * feat(git): only show git icon on closed folder * docs: Update feature_request.md (#1788) * Update feature_request.md Closes #1654 * Update feature_request.md Co-authored-by: Alexander Courtis <alex@courtis.org> * 1786 git next prev land on dirs (#1787) * Filtered dir with git status that are open when show_on_open_dir is false * refactored for single source of truth of existence of git status on a node Putting `has_git_status()` in `explorer.common` because that's where node.status is constructed Or at least I think that's where it's constructed * 1786 semantic nit Co-authored-by: Alexander Courtis <alex@courtis.org> * fix(git): git rename not showing up for the renamed file (#1783) * fixed git rename not showing up for the renamed file * considered " -> " being a part of the filename Fixed -> pattern to escape - Fixed "\"" and "\\" in filename * using string.find(, , true) to match plain -> * Using -z and removed unnecessary logic * feat(view): always enable cursorline, users may change this behaviour via Event.TreeOpen (#1814) * Update view.lua * set cursorline to true * feat(event): dispatch Event.NodeRenamed on cut-paste (#1817) * 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 * doc: consolidate and clarify :help examples * doc: format help * feat: paste and create always target closed folder, remove create_in_closed_folder (#1802) * Fix default for file creation in closed directories * Make paste in closed directories consistent with create * doc: clarify create_in_closed_folder * Remove create_in_closed_folder option * doc: clarify create_in_closed_folder removal message (whoops) Co-authored-by: Alexander Courtis <alex@courtis.org> * on_attach is user's or default, nothing else; legacy generated on_attach includes defaults Co-authored-by: baahrens <bahrens@compeon.de> Co-authored-by: Richard Li <38484873+chomosuke@users.noreply.github.com> Co-authored-by: gegoune <69750637+gegoune@users.noreply.github.com> Co-authored-by: rishabhjain9191 <rishabh.jain9191@gmail.com> Co-authored-by: Anton <14187674+antosha417@users.noreply.github.com> Co-authored-by: Eric Haynes <ehaynes99@gmail.com> * on_attach_default hardcoded * format default_on_attach * source default on_attach directly * remove human mappings help * simplified on_attach generation * simplified on_attach generation * generate default on_attach * generate default on_attach * split out keymap_legacy * add recently introduced mappings * legacy api.config.mappings.active and default * legacy api.config.mappings.active and default * on_attach help and readme * legacy generate handles action = "" * legacy generate handles action = * legacy generate gives defaults when no user mappings * legacy generate handles action = "" * legacy generate api handles overrides * legacy generate handles subsequent setup, on_attach retains deep copies of legacy config * add wiki link to generated on_attach * add opts helper function for on_attach, prefixing 'nvim-tree: ' --------- Co-authored-by: kiyan <yazdani.kiyan@protonmail.com> Co-authored-by: baahrens <bahrens@compeon.de> Co-authored-by: Richard Li <38484873+chomosuke@users.noreply.github.com> Co-authored-by: gegoune <69750637+gegoune@users.noreply.github.com> Co-authored-by: rishabhjain9191 <rishabh.jain9191@gmail.com> Co-authored-by: Anton <14187674+antosha417@users.noreply.github.com> Co-authored-by: Eric Haynes <ehaynes99@gmail.com>
fixes #1692
no_buffer's matching is a bit fuzzy and may miss some updates on buffer delete/wipe however it is not worth the performance cost of making it perfectly accurate.
filters.diagnostics_ok
Raised #1785 which may be completed separately.