Alexander Courtis
a4699c0904
revert( #3180 , #3177 ): resolve live filter failures ( #3183 )
...
* Revert "fix(#3172 ): live filter exception (#3173 )"
This reverts commit 0a7fcdf3f8 .
* Revert "refactor(#2826 ): move view to instanced window class (#3153 )"
This reverts commit 0a06f65bf0 .
* feat(#3157 ): add view.cursorlineopt
2025-08-10 14:45:25 +10:00
Alexander Courtis
9b289abd69
revert( #3180 , #3177 ): invalid group or tabpage ( #3181 )
...
* 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 .
2025-08-10 11:18:31 +10:00
Alexander Courtis
a9156c0139
refactor( #2826 ): remove view debug/cc, enable new codepaths for get_winid and get_bufnr ( #3169 )
...
* 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
2025-07-28 12:44:17 +10:00
alexfinger21
10db6943cb
fix( #3077 ): deleting a directory containing symlinked directory will delete the contents of the linked directory ( #3168 )
...
* fix(#3077 ) deleting a directory containing symlink file will delete all content inside the symlink
* fix(#3077 ): add diagnostic override TODO
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
2025-07-28 09:42:38 +10:00
Alexander Courtis
0a06f65bf0
refactor( #2826 ): move view to instanced window class ( #3153 )
...
* refactor(#2826 ): singleton View class, WIP
* refactor(#2826 ): singleton View class, WIP
* refactor(#2826 ): singleton View class, WIP
* refactor(#2826 ): singleton View class, WIP
* refactor(#2826 ): singleton View class, WIP
* refactor(#2826 ): singleton View class, WIP
* refactor(#2826 ): singleton View class, WIP
* refactor(#2826 ): singleton View class
* refactor(#2826 ): View is an Explorer member
* refactor(#2826 ): move autocmds to Explorer
* refactor(#2826 ): API uses Explorer's View
* refactor(#2826 ): move View into Explorer package
* refactor(#2826 ): retain necessary view globals
* refactor(#2826 ): move all winhl to appearance constants
* refactor(#2826 ): add lifecycle logging to all Explorer members
* refactor(#2826 ): fix bad cherry-pick
* refactor(#2826 ): better enumerate_options function
* refactor(#2826 ): add View.tab_line for debugging
* refactor(#2826 ): default lifecycle log off
* refactor(#2826 ): add experimental.multi_instance_debug, split globals out of view, move diagnostics to its own module
* refactor(#2826 ): instrument View:get_winnr
* refactor(#2826 ): instrument View:setup_tabpage
* refactor(#2826 ): instrument View:set_current_win, View:prevent_buffer_override
* refactor(#2826 ): instrument View:get_bufnr
* refactor(#2826 ): track member bufnr -> winid with global
* refactor(#2826 ): tidy experiment names and logs
* vim: nvim-tree: track bufnr via buffer-update channel
* vim: nvim-tree: more logging
* vim: nvim-tree: revert: track bufnr via buffer-update channel
* refactor(#2826 ): notify error on view winid and bufnr mismatches
* refactor(#2826 ): notify error on view winid and bufnr mismatches
* refactor(#2826 ): explorer init logging
2025-06-19 15:45:55 +10:00
Alexander Courtis
610a1c189b
chore: resolve undefined-field warnings, fix link git statuses, rewrite devicons ( #2968 )
...
* 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
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* Revert "chore: resolve undefined-field"
This reverts commit be546ff18d41f28466b065c857e1e041659bd2c8.
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* Revert "chore: resolve undefined-field"
This reverts commit e82db1c44d .
* chore: resolve undefined-field
* chore: class new is now generic
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* Revert "chore: resolve undefined-field"
This reverts commit 0e9b844d22 .
* move icon builders into node classes
* move icon builders into node classes
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* chore: resolve undefined-field
* move folder specifics from icons to Directory
* move folder specifics from icons to Directory
* move folder specifics from icons to Directory
* move folder specifics from icons to Directory
* move file specifics from icons to File
* clean up sorters
* chore: resolve undefined-field
* tidy hl icon name
* file devicon uses library to fall back
* file devicon uses library to fall back
* file devicon uses library to fall back
2024-11-03 14:06:12 +11:00
Alexander Courtis
1ae1c33ce1
chore( #2931 ): stylua -> EmmyLuaCodeStyle ( #2932 )
...
* stylua -> EmmyLuaCodeStyle: config and doc
* stylua -> EmmyLuaCodeStyle: CI
* stylua -> EmmyLuaCodeStyle: CI
* stylua -> EmmyLuaCodeStyle: CI
* stylua -> EmmyLuaCodeStyle: CI
* stylua -> EmmyLuaCodeStyle: CI
* stylua -> EmmyLuaCodeStyle
* stylua -> EmmyLuaCodeStyle: call_arg_parentheses = always
* stylua -> EmmyLuaCodeStyle
* stylua -> EmmyLuaCodeStyle
2024-09-29 14:05:52 +10:00
Eric 李
9650e735ba
fix( #2794 ): sshfs compatibility ( #2922 )
...
* Revert "revert(#2794 ): sshfs compatibility (#2920 )"
This reverts commit 8405ecfbd6 .
Fix for symlinks is simple
* fix sshfs compatibility with symlinks
* add suggestions
* revert variable name change to ease multi-instance feature branch conflicts
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
2024-09-29 09:21:02 +10:00
Alexander Courtis
8405ecfbd6
revert( #2794 ): sshfs compatibility ( #2920 )
...
* refactor(#2875 ): multi instance renderer: remove unused code
* Revert "fix(#2794 ): sshfs compatibility (#2893 )"
This reverts commit 2d6e64dd8c .
2024-09-22 15:23:42 +10:00
Alexander Courtis
cd9c6db77f
refactor( #2882 , #2883 ): multi instance explore, reloaders ( #2897 )
...
* refactor(#2883 ): multi instance explore
* refactor(#2882 ): multi instance reloaders
* style
2024-09-14 15:35:31 +10:00
Eric 李
2d6e64dd8c
fix( #2794 ): sshfs compatibility ( #2893 )
...
* add type fallback for nil types
* add PR suggestions
* Update lua/nvim-tree/explorer/explore.lua
Co-authored-by: Alexander Courtis <alex@courtis.org>
* use type from fs_stat for sshfs compatibility
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
2024-09-09 10:31:55 +10:00
Alexander Courtis
26632f496e
chore( #2731 ): neovim luadoc 0.10 compliance ( #2786 )
...
* refactor(#2731 ): resolve warnings
* refactor(#2731 ): resolve warnings
* refactor(#2731 ): resolve warnings
* refactor(#2731 ): resolve warnings, type gymnastics
* refactor(#2731 ): resolve warnings, type gymnastics
* refactor(#2731 ): resolve warnings
* refactor(#2731 ): resolve warnings
* refactor(#2731 ): handle cwd unavailable when opening
* refactor(#2731 ): resolve warnings
* refactor(#2731 ): resolve warnings
* refactor(#2731 ): resolve warnings
* refactor(#2731 ): resolve warnings, type gymnastics
* refactor(#2731 ): resolve warnings
* refactor(#2731 ): resolve warnings
* refactor(#2731 ): style
* refactor(#2731 ): add _meta library, explicit check disables
* refactor(#2731 ): add lua-language-server manual install instructions
* refactor(#2731 ): resolve warnings
* refactor(#2731 ): explicitly set all diagnostics, reduce deprecated to hint
* Revert "refactor(#2731 ): resolve warnings"
This reverts commit 9c0526b7b0 .
* Revert "refactor(#2731 ): resolve warnings"
This reverts commit f534fbc606 .
* refactor(#2731 ): handle directory unavailable when deleting
* refactor(#2731 ): resolve warnings
* refactor(#2731 ): resolve warnings
* refactor(#2731 ): resolve warnings
* refactor(#2731 ): resolve warnings
* refactor(#2731 ): resolve warnings
* refactor(#2731 ): resolve warnings
* refactor(#2731 ): resolve warnings
* refactor(#2731 ): handle directory unavailable when creating explorer
* refactor(#2731 ): add all nvim lua libraries
* refactor(#2731 ): resolve warnings
* refactor(#2731 ): remove vim global
* refactor(#2731 ): disable deprecated until we have a 0.9->0.10 story
2024-06-01 15:24:03 +10:00
Azad
f779abaf2a
refactor: improve API readability and tidy actions submodules ( #2593 )
...
* refactor: improve API readability, tidy actions modules
* Apply requested changes
* `actions/reloaders/reloaders.lua` -> `actions/reloaders.lua`
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
2023-12-31 15:52:27 +11:00
Devansh Sharma
dc839a72a6
feat: add kind param to vim.ui.select function calls ( #2602 )
...
* feat: add kind param to vim.ui.select function calls
* feat: add kind param to prompts for bookmark actions
* docs: add section for prompts
* docs: add section for prompts
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
2023-12-31 15:37:16 +11:00
Azad
13f967f8e7
chore: add type annotations and resolve LSP warnings ( #2555 )
...
* chore: add type annotations to (almost) all functions
* stylua
* Add classes for symlink nodes
* Replace deprecated `@vararg`
* Move node classes to `node` module
* Fix `Symlink*` classes
* add vim and libuv runtime for luals, qualify libuv types
* add scripts/luals-check, not quite ready for CI
* additional nil checks for git/init.lua and git/runner.lua
* additional nil checks for nvim-tree.lua
* wrap vim.cmd-as-a-function calls inside functions
* vim.tbl_filter predicate returns booleans
* Revert "add scripts/luals-check, not quite ready for CI"
This reverts commit c70229cad9 .
* Add `MinimalNode` class in `marks` module
* Fix various LSP warnings
* stylua
* Fix `Explorer` class, update related annotations and add necessary checks
* Add missing annotations to `live-filter`
* Add temporary aliases for `uv.*` types
* Resolve remaining LSP warnings
* Revert changes not related to internal types
* Minor adjustments
* Update doc comments style
* Minor adjustments (pt. 2)
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
2023-12-09 11:34:35 +11:00
geril2207
24bb0ed806
fix: error when deleting opened file from floating window ( #2503 )
2023-11-06 09:35:51 +11:00
Azad
c1568568b3
feat( #2498 ): delete, trash prompts default N, added ui.confirm.default_yes option to override this behaviour ( #2500 )
...
Co-authored-by: Alexander Courtis <alex@courtis.org>
2023-10-30 12:28:29 +11:00
Mohamed Arish
920868dba1
fix( #2370 ): Better "y/N" prompts ( #2377 )
...
* 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.*
2023-08-20 17:34:14 +10:00
Asror
3cc698b35b
feat( #2270 ): add notify.absolute_path - show file or absolute path (default) names with notifications ( #2286 )
...
Co-authored-by: Alexander Courtis <alex@courtis.org>
2023-06-25 13:06:21 +10:00
Svetlozar Iliev
c3c6544ee0
feat(event): add WillCreateFile, WillRemoveFile ( #2273 )
...
node. These are mostly going to be useful for implementing lsp file
operation actions.
Co-authored-by: Alexander Courtis <alex@courtis.org>
2023-06-19 10:00:55 +10:00
Alexander Courtis
bdceaf5096
feat( #1804 ): add api.marks.bulk.delete with default bd mapping ( #2276 )
2023-06-18 14:09:11 +10:00
Alexander Courtis
d4f6d33496
fix( #2240 ): disable watchers following EMFILE ( #2268 )
...
* fix(#2240 ): disable watchers following EMFILE
* fix(#2240 ): disable watchers following EMFILE
2023-06-18 11:42:48 +10:00
Telman Babayev
ccb6d8a518
feat: add ui.confirm.remove and ui.confirm.trash, deprecate trash.require_confirm ( #1887 )
...
* Implement turning off y/n prompt for file deletion
* Refactor different prompt configs to single ui table
* Remove unused fields
* add ui.confirm doc, format/tidy
* trash.require_confirm -> ui.confirm.trash
* Fix nil value trash field
Co-authored-by: Alexander Courtis <alex@courtis.org>
2023-01-08 17:43:01 +11:00
Alexander Courtis
8cc369695b
fix: replace vim.* "requires" with explicit calls to vim functions ( #1701 )
2022-11-06 10:37:33 +11:00
kylo252
6ca6f99e76
feat(notify): add notify.threshold ( #1693 )
...
* feat: configurable notification level
add `notify.threshold` to setup opts
* feat: configurable notification level: add threshold example doc
* feat: configurable notification level: log always comes last
Co-authored-by: Alexander Courtis <alex@courtis.org>
2022-11-01 10:24:40 +11:00
Alexander Courtis
ac8d259bad
fix(prompt): add select_prompts to suit UI decorator plugins such as dressing and telescope
2022-09-22 13:23:49 +10:00
Krzysztof Cieśla
07f59e7450
fix( #1539 ): Fix closing nvim-tree float when file is removed ( #1546 )
...
* Fix closing nvim-tree float when file is removed
* Revert changes for non-float
Co-authored-by: Krzysztof Cieśla <krzysztof.marcin.ciesla@cern.ch>
2022-08-30 08:47:13 +10:00
kiyan
8dc2144e87
refactor: use vim.ui.input for y/n selections
...
also add clear_prompt again.
fixes #1441
2022-07-19 11:31:09 +02:00
kiyan
ba5c18dc2b
feat: add confirmation kind to select y/n
2022-07-18 14:38:32 +02:00
kiyan
2d629cab78
feat(remove-file): use vim.ui.select
2022-07-18 14:28:08 +02:00
kiyan
18447132fc
feat(notify): switch all print/nvim_*write statements to utils.notify
2022-07-18 14:04:48 +02:00
Kiyan
831f1158c3
refactor(actions): move actions into semantic modules ( #1410 )
2022-07-10 09:47:52 +02:00