Alexander Courtis
3a82885cc3
refactor( #2826 ): move autocmds to Explorer
2025-04-21 12:17:21 +10:00
Alexander Courtis
44cb3d2f0a
refactor( #2826 ): View is an Explorer member
2025-04-21 12:02:19 +10:00
Alexander Courtis
0eb21f66f7
Merge remote-tracking branch 'origin/master' into 2826-multi-instance-view-amc
2025-04-21 09:25:27 +10:00
Alexander Courtis
64bb47f868
ci: simplify luarocks release tag pattern as it was not firing
2025-04-21 08:59:56 +10:00
Devansh Sharma
c24c0470d9
feat: add TreePreOpen event ( #3105 )
...
* feat: Add `TreePreOpen` and `TreePreClose` events
* docs: Update docs for `TreePreOpen` and `TreePreClose` events
* chore: remove `TreePreClose` event and update dispatch of `TreePreOpen`
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
2025-04-21 08:39:48 +10:00
Alexander Courtis
f309ca21e9
refactor( #2826 ): singleton View class
2025-04-20 14:47:43 +10:00
Alexander Courtis
f098195667
refactor( #2826 ): singleton View class, WIP
2025-04-20 14:28:44 +10:00
Alexander Courtis
0a04e435b1
refactor( #2826 ): singleton View class, WIP
2025-04-20 14:07:02 +10:00
Alexander Courtis
b95b873626
refactor( #2826 ): singleton View class, WIP
2025-04-20 13:57:12 +10:00
Alexander Courtis
9d3d0d220f
refactor( #2826 ): singleton View class, WIP
2025-04-20 13:54:37 +10:00
Alexander Courtis
a3fe0c9007
refactor( #2826 ): singleton View class, WIP
2025-04-20 13:20:41 +10:00
Alexander Courtis
3c024975fd
refactor( #2826 ): singleton View class, WIP
2025-04-20 12:48:22 +10:00
Alexander Courtis
fa64574f16
refactor( #2826 ): singleton View class, WIP
2025-04-20 12:45:22 +10:00
Devansh Sharma
3a63717d3d
fix: reliably dispatch exactly one TreeOpen and TreeClose events ( #3107 )
...
* fix: correctly handle `TreeOpen` and `TreeClose` event dispatch
* fix: lint issues
2025-04-20 09:49:28 +10:00
Alexander Courtis
5bea2b3752
fix( #3101 ): when renderer.highlight_opened_files = "none" do not reload on BufUnload and BufReadPost ( #3102 )
...
* fix(#3101 ): fix bad reference to renderer.highlight_opened_files during BufUnload and BufReadPost
* fix(#3101 ): only redraw renderer.highlight_opened_files during BufUnload and BufReadPost
* fix(#3101 ): only redraw renderer.highlight_opened_files during BufUnload and BufReadPost
* fix(#3101 ): only redraw renderer.highlight_opened_files during BufUnload and BufReadPost
2025-04-11 12:48:34 +10:00
Šimon Mandlík
c3c1935942
fix: explicitly set border to "none" in full name float ( #3094 )
2025-04-04 17:29:38 +11:00
Alexander Courtis
44d9b58f11
chore: use builtin EmmyLuaCodeStyle for style checking ( #3084 )
...
* chore: sync EmmyLuaCodeStyle settings between .editorconfig and .luarc.json
* chore: lua-language-server 3.11.0 -> 3.13.9
* chore: fix incorrect definition of vim.loop.fs_lstat
* chore: add codestyle-check option to luals-check.sh
* chore: use luals for style check
* chore: use luals for style check
* Revert "chore: use luals for style check"
This reverts commit e5fde80fab .
* chore: use luals for style check
* chore: use luals for style check
* chore: use luals for style check
* chore: use luals for style check
* chore: use luals for style check
* chore: use luals for style check
* chore: use luals for style check
* chore: use luals for style check
* chore: use luals for style check
* chore: use luals for style check
* chore: use luals for style check
* chore: use luals for style check
2025-03-23 12:46:17 +11:00
dependabot[bot]
c09ff35de5
chore(deps): bump leafo/gh-actions-lua from 10 to 11 ( #3069 )
...
Bumps [leafo/gh-actions-lua](https://github.com/leafo/gh-actions-lua ) from 10 to 11.
- [Release notes](https://github.com/leafo/gh-actions-lua/releases )
- [Commits](https://github.com/leafo/gh-actions-lua/compare/v10...v11 )
---
updated-dependencies:
- dependency-name: leafo/gh-actions-lua
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-01 11:07:35 +11:00
github-actions[bot]
6709463b2d
chore(master): release nvim-tree 1.11.0 ( #3051 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-22 12:31:19 +11:00
Šimon Mandlík
b69914325a
fix: window picker: hide fillchars: stl and stlnc ( #3066 )
...
fix: stl and stlnc fillchars are hidden in window picker
Co-authored-by: Alexander Courtis <alex@courtis.org>
2025-02-22 11:32:52 +11:00
Gabriel Crispino
3281f331f7
feat( #1984 ): add quit_on_open and focus opts to various api.node.open functions ( #3054 )
...
* feat: add quit_on_open opt to api.node.open.edit
* fix: fix missing @param annotation
* feat: add focus opt to api.node.open.edit
* fix: fix focus == false behaviour on api.node.open.tab command
* fix: add optional tabpage integer parameter to view.close
if tabpage is not nil, then the function closes the tabpage in this
specific tabpage
* fix: fix quit_on_open == true behaviour on api.node.open.tab command
* fix: add check to not use new opts for certain edit modes
* fix: add docs for new opts
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
2025-02-22 11:09:49 +11:00
Hendrik Ziegler
80523101f0
fix: arithmetic on nil value error on first git project open ( #3064 )
...
* fixed error message when opening new git repo
* defensive nil + type check
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
2025-02-10 08:06:02 +11:00
Alexander Courtis
70825f23db
fix( #3059 ): test for presence of new 0.11 API vim.hl.range ( #3060 )
2025-02-03 15:42:22 +11:00
Alexander Courtis
d05881f65f
docs: tidy readme contributing
2025-01-27 11:33:37 +11:00
Gabriel Crispino
fee1da8897
feat( #3037 ): add API node.buffer.delete, node.buffer.wipe ( #3040 )
...
* feat(mappings): add key map to close file buffer
* feat: implement Api.node.buffer.delete
* feat: implement Api.node.buffer.wipe
* refactor: add util fn for common delete ops on bufs
* fix: minor fixes
* refactor: fix lint issues
* fix: undo unintended ApiTreeToggleOpts change
* fix: change error message level to info
* fix: remove unused opts
* refactor: merge delete-buffer and wipe-buffer into single buffer file
* refactor: make wipe and delete fns take a node instead of a file path
* docs: update help with new API commands
* remove refactored utils.lua
* remove unused static setup
* tweak doc
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
2025-01-25 12:47:34 +11:00
Alexander Courtis
db7403243d
chore: resolve deprecated in 0.11 ( #3053 )
...
* chore: resolve deprecated in 0.11
* chore: resolve deprecated in 0.11
* chore: resolve deprecated in 0.11
* chore: resolve deprecated in 0.11
* chore: resolve deprecated in 0.11
* chore: resolve deprecated in 0.11
2025-01-24 11:57:18 +11:00
𝐍𝐆𝐏𝐎𝐍𝐆
fca0b67c0b
fix( #3045 ): wipe scratch buffers for full name and show info popups ( #3050 )
2025-01-18 10:28:06 +11:00
github-actions[bot]
d529a99f88
chore(master): release nvim-tree 1.10.0 ( #3021 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-13 15:41:35 +11:00
phanium
39bc630816
fix: hijack directory "BufEnter", "BufNewFile" events are nested ( #3044 )
...
Co-authored-by: Alexander Courtis <alex@courtis.org>
2025-01-13 15:39:10 +11:00
Lev Yuvenskiy
aae01853dd
fix( #3041 ): use vim.diagnostic.get for updating diagnostics ( #3042 )
...
* fix(#3041 ): use vim.diagnostic.get for updating diagnostics
* fix(#3041 ): remove unnecessary @type
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
2025-01-13 15:15:48 +11:00
fdgdgerg
68fc4c20f5
feat(api): add node.open.vertical_no_picker, node.open.horizontal_no_picker ( #3031 )
...
* test
* add splits with no window pickers
removed the 1 buffer per file limitation
test
test2
* no-picker for splits
* help vertical/horizontal_no_picker
* revert whitespace changes
---------
Co-authored-by: JoeDaBu <joegbu@gmail.com>
Co-authored-by: Alexander Courtis <alex@courtis.org>
2024-12-22 09:35:48 +11:00
Šimon Mandlík
f7b76cd1a7
fix( #3015 ): dynamic width no longer truncates on right_align icons ( #3022 )
2024-12-14 08:54:18 +11:00
Alexander Courtis
c3d9b1779f
docs: notify users with a fs.inotify.max_user_watches message on EMFILE event ( #3028 )
...
* docs: notify users with a fs.inotify.max_user_watches message on EMFILE event
* type safety for newly created vim.v.event type
2024-12-13 10:39:46 +11:00
ShyRobin
db8d7ac1f5
fix( #3018 ): error when focusing nvim-tree when in terminal mode ( #3019 )
...
fix: Can't re-enter normal mode from terminal mode
Co-authored-by: Alexander Courtis <alex@courtis.org>
2024-12-08 12:05:33 +11:00
Jie Liu
6b4be1dc0c
fix: view.width functions may return strings ( #3020 )
...
* Fix get_size() function when size is a function return string
* update view.width help
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
2024-12-08 11:45:32 +11:00
github-actions[bot]
375e38673b
chore(master): release nvim-tree 1.9.0 ( #2999 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-07 16:04:32 +11:00
Alexander Courtis
7a4ff1a516
feat( #2948 ): add custom decorators, :help nvim-tree-decorators ( #2996 )
...
* feat(#2948 ): add UserDecorator, proof of concept
* feat(#2948 ): add UserDecorator, proof of concept
* feat(#2948 ): add UserDecorator, proof of concept
* feat(#2948 ): add UserDecorator
* feat(#2948 ): add UserDecorator
* feat(#2948 ): add UserDecorator
* feat(#2948 ): add Decorator node icon override
* feat(#2948 ): add nvim_tree.api.* node classes
* feat(#2948 ): extract _meta following nvim pattern
* feat(#2948 ): extract _meta following nvim pattern
* feat(#2948 ): add decorator registry and order
* feat(#2948 ): add decorator registry and order
* feat(#2948 ): tidy
* feat(#2948 ): document API
* feat(#2948 ): document API
* feat(#2948 ): document API
* feat(#2948 ): pass api nodes to user decorators
* feat(#2948 ): document API
* feat(#2948 ): use renderer.decorators to define order and register
* feat(#2948 ): tidy decorator args and complete documentation
* feat(#2948 ): decorator classes specified by prefix rather than suffix
* feat(#2948 ): improve doc
* feat(#2948 ): improve doc
* feat(#2948 ): improve doc
* feat(#2948 ): additional user decorator safety
* feat(#2948 ): create nvim_tree.api.decorator.UserDecorator class in API, add :extend
* feat(#2948 ): improve doc
2024-12-07 16:03:29 +11:00
Alexander Courtis
ca7c4c33ca
fix( #3009 ): nvim < 0.10 apply view options locally ( #3010 )
2024-11-24 17:00:58 +11:00
Alexander Courtis
1f3ffd6af1
fix( #2954 ): more efficient LSP updates, increase diagnostics.debounce_delay from 50ms to 500ms ( #3007 )
...
* fix(#2954 ): use LSP diagnostic data deltas from events instead of a full query
* fix(#2954 ): use LSP diagnostic data deltas from events instead of a full query
2024-11-22 10:12:47 +11:00
devxpain
f7c65e11d6
fix(api): correct argument types in wrap_node and wrap_node_or_nil ( #3006 )
...
The `wrap_node` and `wrap_node_or_nil` functions now correctly accept `Node?` to handle nil values, resolving a warning about incorrect argument counts in `api.tree.change_root_to_node()`.
2024-11-18 10:00:19 +11:00
des-b
28eac2801b
fix( #2990 ): Do not check if buffer is buflisted in diagnostics.update() ( #2998 )
...
This ensures that LSP diagnostics of files which are not manually opened
by users are rendered by nvim-tree diagnostic indicators.
However when users attach an LSP to nvim-tree this will bring back
flashing as attempted to fix in #2980 . Fixing this should probably done
by checking data passed via diagnostic events (DiagnosticChanged and
CocDiagnosticChanged).
Signed-off-by: des-b <66919647+des-b@users.noreply.github.com>
2024-11-11 08:57:06 +11:00
github-actions[bot]
c7639482a1
chore(master): release nvim-tree 1.8.0 ( #2943 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-09 14:46:26 +11:00
Alexander Courtis
2ee1c5e17f
feat( #2819 ): add actions.open_file.relative_path, default enabled, following successful experiment ( #2995 )
2024-11-09 14:44:59 +11: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
Jie Liu
c22124b374
fix( #2981 ): windows: root changed when navigating with LSP ( #2982 )
...
* fix #2981 : nvim-tree root changed when navigating with LSP
* add error checks
2024-11-03 13:52:20 +11:00
Alexander Courtis
2156bc08c9
fix: symlink file icons rendered when renderer.icons.show.file = false, folder.symlink* was incorrectly rendered as folder.default|open ( #2983 )
...
* fix: folder.symlink* was incorrectly rendered as folder.default|open
* fix: symlink file icons rendered when renderer.icons.show.file = false
2024-11-03 12:10:00 +11:00
des-b
82ab19ebf7
fix( #2954 ): resolve occasional tree flashing on diagnostics, set tree buffer options in deterministic order ( #2980 )
...
* fix(#2954 ): set buffer options in deterministic order
This ensures related autocmd's (e.g. on FileType) will be called in a
similar environment.
* fix(#2954 ): redraw only for diagnostics if source buffer is 'buflisted'
is_buf_valid has been inlined since it is only used for diagnostics
and its name is misleading.
2024-11-02 12:07:42 +11:00
Alexander Courtis
120ba58254
fix( #2978 ): grouped folder not showing closed icon ( #2979 )
2024-10-29 11:07:48 +11:00
Alexander Courtis
00dff482f9
fix( #2976 ): use vim.loop to preserve neovim 0.9 compatibility ( #2977 )
2024-10-29 08:01:52 +11:00