* Revert "feat(#2826): allow only one window with nvim-tree buffer per tab (#3174)"
This reverts commit dd2364d680.
* Revert "refactor(#2826): View tracks winids and bufnrs via events, unused for now (#3170)"
This reverts commit 65bae44922.
* Revert "refactor(#2826): remove view debug/cc, enable new codepaths for get_winid and get_bufnr (#3169)"
This reverts commit a9156c0139.
* refactor(#2826): fuller error messages
* refactor(#2826): winnr->winid in view/globals, remove redundant get_winid and get_bufnr calls
* refactor(#2826): winnr->winid consistently
* refactor(#2826): consistent use of buffer registry, tidy, add todos
* refactor(#2826): remove unnecessary view members float, hide_root_folder; use explorer opts
* refactor(#2826): remove unused view members centralize_selection and preserve_window_proportions
* refactor(#2826): remove unused view member height
* refactor(#2826): temporarily reuse BUFNR_PER_TAB in view constructor
* refactor(#2826): get_winid returns new after consistency check
* refactor(#2826): globals.TABPAGES -> WINID_PER_TAB
* refactor(#2826): consistent naming of tabid
* refactor(#2826): more consistency checking
* refactor(#2826): more consistency checking
* refactor(#2826): move global CURSORS to view member
* Revert "refactor(#2826): move global CURSORS to view member"
This reverts commit d84dfad1c3.
* refactor(#2826): move global CURSORS to view member
* refactor(#2826): consistency check returns new
* refactor(#2826): remove consistency checks, enabling new path for view get_winid and get_bufnr
* refactor(#2826): restore CURSORS global
* add todo
* refactor(#2886): multi instance: node class refactoring: extract links, *_git_status (#2944)
* extract DirectoryLinkNode and FileLinkNode, move Node methods to children
* temporarily move DirectoryNode methods into BaseNode for easier reviewing
* move mostly unchanged DirectoryNode methods back to BaseNode
* tidy
* git.git_status_file takes an array
* update git status of links
* luacheck hack
* safer git_status_dir
* refactor(#2886): multi instance: node class refactoring: DirectoryNode:expand_or_collapse (#2957)
move expand_or_collapse to DirectoryNode
* refactor(#2886): multi instance: node group functions refactoring (#2959)
* move last_group_node to DirectoryNode
* move add BaseNode:as and more doc
* revert parameter name changes
* revert parameter name changes
* add Class
* move group methods into DN
* tidy group methods
* tidy group methods
* tidy group methods
* tidy group methods
* parent is DirectoryNode
* tidy expand all
* BaseNode -> Node
* move watcher to DirectoryNode
* last_group_node is DirectoryNode only
* simplify create-file
* simplify parent
* simplify collapse-all
* simplify live-filter
* style
* move lib.get_cursor_position to Explorer
* move lib.get_node_at_cursor to Explorer
* move lib.get_nodes to Explorer
* move place_cursor_on_node to Explorer
* resolve resource leak in purge_all_state
* move many autocommands into Explorer
* post merge tidy
* Reapply "refactor(#2871, #2886): multi instance: node classes created (#2916)"
This reverts commit 50e919426a.
* fix(#2945): stack overflow on api.git.reload or fugitive event
* refactor(#2875): multi instance renderer
* refactor(#2875): multi instance renderer
* refactor(#2875): multi instance renderer
* refactor(#2875): multi instance renderer
* node classes and constructors
* node methods
* refactor(#2875): multi instance renderer
* node classes and constructors
* explorer is a directory node
* extract methods from explore_node
* extract methods from explore_node
* extract methods from explore_node
* extract methods from lib
* use .. name for root node for compatibility
* use node.explorer
* extract node factory, remove unused code
* factories for all nodes, add RootNode
* factories for all nodes, add RootNode
* use factory pattern for decorators
* note regression and commit
* fix dir git status regression
* destroy nodes, not explorer
* add BaseNode:is
* revert changes to create-file, handle in #2924
* extract methods from explorer
* extract methods from explorer
* extract methods from explorer
* use Node everywhere in luadoc
* extract methods from lib
* extract methods from lib
* lint
* remove unused code
* don't call methods on fake root node
* get_node_at_cursor returns explorer (root) node instead of { name = '..' }
* remove unused inject_node
* refactor(#2875): multi instance renderer
* refactor(#2875): multi instance renderer
* refactor(#2875): multi instance renderer
* extract methods from lib
* node factory uses stat only
* temporary DirectoryNode casting until method extraction into child classes
* lua-language-server 3.10.5 -> 3.11.0
* explicitly call Explorer constructor
* normalise explorer RootNode new call, tidy annotations
* fix: use of possibly stale value
The return value of `core.get_explorer()` could be changed by `core.init(..)`.
* fix style
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
* refactor(#2875): multi instance renderer
* refactor(#2875): multi instance renderer
* refactor(#2875): multi instance renderer
* refactor(#2875): multi instance renderer
* refactor(#2875): deal with some cyclic require
* refactor(#2875): multi instance renderer
* refactor(#2875): multi instance renderer
* refactor(#2875): multi instance renderer
* refactor(#2875): multi instance renderer
* refactor(#2875): multi instance renderer
* refactor(#2875): multi instance renderer
* refactor(#2875): multi instance renderer
* refactor(#2875): multi instance renderer
* refactor(#2875): multi instance renderer
* refactor(#2875): multi instance renderer
* refactor(#2875): multi instance renderer
* fix: bookmark filter include marked-directory's children
* fix(perf): add path_type to filter functions
* fix: replace undefined type
* fix: correct Node.fs_stat type
* fix: file info popup check fs_stat not nil
* refactor: add stat to should_filter, Node constructor
* perf: early return if bookmark is empty
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
* feat: ungrouping empty directories
* add a new api to toggle empty folders
* solve comments
* solve comments
* update help
---------
Co-authored-by: juefei yan <juefeiyan@juefeis-MacBook-Air.local>
Co-authored-by: Alexander Courtis <alex@courtis.org>
* Changed the default y/n prompt to default to N in most cases(all delete cases) and made it so that the copy paste same name conflict defaults to R(ename)
* Removed all No conditions as they are not used and not needed
* Made item_short into lowercase and also fixed prompts in dressing.nvim and telescope-select.nvim
* Fixed the exception which occurs on pressing esc in the prompt and also made rename to be blank or r.*/R.*
* Sync closing of nvim-tree across tabs
* chore: remove vim.* "requires"
* Sync closing of nvim-tree across tabs
* Fix api.close calls
* Fix issue from merge
* Implement changes
* Finish todos and add close_all_tabs
* silently refactor options, add doc
* fix vinegar example
* Refactor close to work with tabid
* Close nvim tree if last buffer
* close and abandon all tabs on subsequent setup calls
Co-authored-by: Alexander Courtis <alex@courtis.org>