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
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
3fc8de198c
chore: migrate to classic ( #2991 )
...
* add classic, migrating nodes classes
* add mixins to classic
* typechecked optargs constructors for nodes
* typechecked optargs constructors for watcher and event
* luacheck
* typechecked optargs constructors for GitRunner
* typechecked optargs constructors for Sorter
* typechecked optargs constructors for decorators, WIP
* typechecked optargs constructors for decorators, WIP
* typechecked optargs constructors for decorators
* remove class
* replace enums with named maps
* Renderer and Builder use classic, tidy opts
* LiveFilter uses classic, tidy opts
* Filter uses classic, tidy opts
* add FilterTypes named map
* move toggles into filters
* Marks uses classic, tidy opts
* Sorter uses classic, tidy opts
* Clipboard uses classic, tidy opts
* use supers for node methods
* HighlightDisplay uses classic
* protected :new
* Watcher tidy
* Revert "use supers for node methods"
This reverts commit 9fc7a866ec .
* Watcher tidy
* format
* format
* Filters private methods
* format
* Sorter type safety
* Sorter type safety
* Sorter type safety
* Sorter type safety
* Sorter type safety
* Sorter type safety
* tidy Runner
* tidy hi-test name
2024-11-09 14:14:04 +11: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
f3efc25e56
refactor( #2941 ): move lib methods to explorer ( #2964 )
...
* 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
2024-10-27 09:03:26 +11:00
Alexander Courtis
5ad87620ec
fix( #2945 ): stack overflow on api.git.reload or fugitive event with watchers disabled ( #2949 )
...
* 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
2024-10-11 13:47:01 +11:00
Alexander Courtis
50e919426a
Revert "refactor( #2871 , #2886 ): multi instance: node classes created ( #2916 )"
...
This reverts commit 38aac09151 .
2024-10-08 18:07:47 +11:00
Alexander Courtis
38aac09151
refactor( #2871 , #2886 ): multi instance: node classes created ( #2916 )
...
* 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
2024-10-07 13:46:56 +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
Alexander Courtis
03ae60313b
refactor( #2875 ): multi instance renderer ( #2900 )
...
* 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
2024-09-21 10:41:35 +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
Alexander Courtis
70d7377c3f
chore: lua-language-server 3.9.1 -> 3.10.5 ( #2898 )
2024-09-08 14:40:17 +10:00
Alexander Courtis
e962e97cab
refactor( #2830 ): multi instance marks ( #2873 )
...
* refactor(#2830 ): multi instance marks
* refactor(#2830 ): multi instance marks
* refactor(#2830 ): multi instance marks
2024-08-25 12:32:09 +10:00
Alexander Courtis
4e396b2624
refactor( #2830 ): multi instance nvim-tree.marks ( #2838 )
...
refactor(#2380 ): multi instance nvim-tree.marks
2024-07-21 16:12:42 +10:00
Alexander Courtis
e9c5abe073
feat( #2415 ): colour and highlight overhaul, see :help nvim-tree-highlight-overhaul ( #2455 )
...
* feat(#2415 ): granular highlight_diagnostics, normalise groups (#2454 )
* chore: normalise colours and enable cterm (#2471 )
* feat(#2415 ): granular highlight_git, normalise git groups (#2487 )
* docs: update CONTRIBUTING.md (#2485 )
* feat(#2415 ): granular highlight_git, normalise git groups
* feat(#2415 ): normalise and add modified groups
* feat(#2415 ): create Decorator class for modified and bookmarks
* feat(#2415 ): create DecoratorDiagnostics
* feat(#2415 ): create DecoratorGit
* feat(#2415 ): create DecoratorGit
* add DecoratorCopied DecoratorCut
* add DecoratorOpened
* remove unloaded_bufnr checks as the view debouncer takes care of it
* Add `renderer.highlight_git` to accepted strings
* fix(#2415 ): builder refactor (#2538 )
* simplify builder signs
* decorators take care of themselves and are priority ordered
* simplify builder hl groups
* refactor builder for icon arrays
* builder use decorators generically
* fix(#2415 ): harden sign creation (#2539 )
* fix(#2415 ): harden unicode signs
* Decorator tidy
* normalise git sign creation and tidy
* tidy builder
* NvimTreeBookmarkIcon
* tidy HL doc
* tidy HL doc
* tidy HL doc
* tidy builder doc
* standardise on '---@param'
* DiagnosticWarning -> DiagnosticWarn
* annotate decorators
* limit to two highlight groups for line rendering
* style
* apply #2519
* feat(#2415 ): combined hl groups (#2601 )
* feat(#2415 ): create combined highlight groups
* feat(#2415 ): create combined highlight groups
* feat(#2415 ): create combined highlight groups
* ci: allow workflow_dispatch (#2620 )
* one and only one hl namespace, required winhl removal
* small tidies
* colors.lua -> appearance.lua
* full-name uses one and only namespace
* don't highlight fast, just apply to namespace, safer win_set_hl
* gut builder (#2622 )
collapse Builder
* fix group_empty function check
* feat(#2415 ): highlight-overhaul release date
---------
Co-authored-by: Akmadan23 <azadahmadi@mailo.com>
2024-01-20 16:12:13 +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
Alexander Courtis
d49a284236
feat( #2411 ): add renderer.highlight_bookmarks, renderer.icons.bookmarks_placement ( #2412 )
...
* feat(#1079 ): add highlight NvimTreeCopiedText and NvimTreeCutText
* feat(#1079 ): add highlight NvimTreeCopiedText and NvimTreeCutText
* feat(#1079 ): node may not be present in copy and cut
* feat(#2411 ): bookmark highlight and icon placement
* feat(#1079 ): add renderer.highlight_clipboard
* feat(#1079 ): add renderer.highlight_clipboard
* feat(#2411 ): bookmark highlight and icon placement
* feat(#2411 ): bookmark highlight and icon placement
* style
* feat(#2411 ): bookmark highlight and icon placement
* feat(#2411 ): bookmark highlight and icon placement
* feat(#2411 ): bookmark highlight and icon placement
* feat(#2411 ): bookmark highlight and icon placement
2023-09-24 15:07:02 +10:00
pr4th4m
7f7665a17b
feat: api.marks.bulk.trash ( #2391 )
...
* Feature: Bulk trash api
* Update docs
* Follow documentation syntax
* Remove unnecessary refresh
* doc spacing
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
2023-09-16 15:10:36 +10:00
Tillman Jex
b856d0a0c3
fix( #2392 ): bookmarks icon placement when group_empty ( #2402 )
...
* fix: marks now align with nodes when parent nodes are empty and group_empty option
enabled
* run stylua
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
2023-09-09 11:27:15 +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
wyrid
cd2f7569db
feat(api): add api.marks.clear ( #1708 )
2022-11-01 08:46:56 +11:00
Sebastian Volland
90dcf42bba
fix( #1533 ): make toggle_mark ignore non-togglable nodes. ( #1534 )
2022-08-22 14:24:25 +10:00
Kiyan
26512c369f
feat(marks): add bulk move action ( #1419 )
2022-07-17 08:25:11 +02:00
kiyan
6a49a0301f
refactor(marks): fix offset line and move into init.lua
...
also set node in marks record instead of true
2022-07-12 09:34:26 +02:00