Alexander Courtis
7efaa339d3
docs: :help nvim-tree-legacy ( #2679 )
...
doc: add help nvim-tree-legacy
2024-02-24 15:50:10 +11:00
darcy
4a87b8b46b
feat( #2654 ): filters.custom may be a function ( #2655 )
...
* feat(#2654 ): add `binaries` field to `filters`
* feat(#2648 ): allow functions in `filters.custom`
* ci: fix: stylua check
* ci: fix: add new keybind and config to docs
* fix: replace os-specific binary filter with `vim.fn.executable`
* fix: remove function and mapping for `binaries` filter
* fix: add `node` parameter to custom filter function
* fix: update doc for custom filter function signature
* fix: add custom filter to `ACCEPTED_TYPES`
* fix: accept single function for custom filter
* fix: change custom filter on `ACCEPTED_TYPES`
* fix: revert to using `path` for custom filter function
* fix: use `function` type for custom filter
* fix: type for custom filter in help
* fix: custom filter single function no longer mutates `M.config.filter_custom`
* fix: remove dead `if` statement in custom filter
* fix: separate custom filter function from `M.ignore_list`
* doc nit
---------
Co-authored-by: darcy <44690813+darccyy@users.noreply.github.com>
Co-authored-by: Alexander Courtis <alex@courtis.org>
2024-02-11 17:18:40 +11:00
Alexander Courtis
39e6fef85a
fix( #2415 ): highlight help header and mappings ( #2669 )
2024-02-11 15:40:21 +11:00
Alexander Courtis
b278fc25ae
feat( #2415 ): add :NvimTreeHiTest ( #2664 )
...
* feat(#2415 ): add :NvimTreeHiTest
* feat(#2415 ): split out appearance diagnostics
2024-02-11 14:41:40 +11:00
Zeta
8cbb1db8e9
feat: add node.open.toggle_group_empty, default mapping L ( #2647 )
...
* 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>
2024-02-04 16:48:56 +11:00
Confidenceman02
f39f7b6fcd
fix( #2415 ): nvim 0.8 highlight overhaul support, limited to only show highest highlight precedence ( #2642 )
...
* fix: Add support for get_hl_defs in nvim 0.8
nvim-tree is using `nvim_get_hl` which was introduced in nvim 0.9 to
replace the unstable `get_hl_defs` in the following [commit](https://github.com/neovim/neovim/pull/22693/files ).
Unfortunately this raises an error in 0.8 nvim versions due to the
function not existing.
```
Failed to run `config` for nvim-tree.lua
...are/nvim/lazy/nvim-tree.lua/lua/nvim-tree/appearance.lua:199: attempt to call field 'nvim_get_hl' (a nil value)
stacktrace:
- ~/.config/nvim/lua/confidenceman02/plugins/nvim-tree.lua:14 _in_ **config**
- ~/.config/nvim/lua/confidenceman02/lazy.lua:14
```
- Fall back to get_hl_defs when detecting 0.8
- Set the 'link' property to nil to emulate `link = false` in
`builder.lua`
* fix(#2415 ): nvim 0.8 highlight overhaul support, limited to only show highest highlight precedence
---------
Co-authored-by: Jaime Terreu <jaime@terreu.com>
Co-authored-by: Alexander Courtis <alex@courtis.org>
2024-01-30 10:37:32 +11:00
Alexander Courtis
e9ac136a3a
fix( #2415 ): NvimTreeIndentMarker highlight group: FileIcon->FolderIcon ( #2656 )
...
fix(#2415 ): fix NvimTreeIndentMarker highlight group: FileIcon->FolderIcon
2024-01-29 13:28:20 +11:00
Alexander Courtis
d9cb432d2c
fix( #2415 ): disambiguate highlight groups, see :help nvim-tree-highlight-overhaul ( #2639 )
...
* fix(#2415 ): disambiguate highlight groups, see :help nvim-tree-highlight-overhaul
* fix(#2415 ): disambiguate highlight groups, see :help nvim-tree-highlight-overhaul
* fix(#2415 ): disambiguate highlight groups, see :help nvim-tree-highlight-overhaul
* fix(#2415 ): disambiguate highlight groups, see :help nvim-tree-highlight-overhaul
* fix(#2415 ): disambiguate highlight groups, see :help nvim-tree-highlight-overhaul
* fix(#2415 ): disambiguate highlight groups, see :help nvim-tree-highlight-overhaul
* fix(#2415 ): disambiguate highlight groups, see :help nvim-tree-highlight-overhaul
2024-01-29 12:43:02 +11:00
Alexander Courtis
fbee8a69a4
fix( #2643 ): correctly apply linked highlight groups in tree window ( #2653 )
...
* fix(#2643 ): correctly apply linked highlight groups in tree window
* fix(#2643 ): recreate and apply combined highlight groups on colorscheme change
2024-01-29 12:42:19 +11:00
Alexander Courtis
7bdb220d0f
fix( #2637 ): show buffer modified icons and highlights ( #2638 )
2024-01-21 17:24:43 +11:00
Danila Usachev
48b1d8638f
fix( #2632 ): occasional error stack when locating nvim-tree window ( #2633 )
...
fix: passing nil as window handle in view.get_winnr
Co-authored-by: Alexander Courtis <alex@courtis.org>
2024-01-21 15:54:27 +11:00
Tomasz N
75ff64e666
fix: bad column offset when using full_name ( #2629 )
...
Co-authored-by: __ <__@__>
Co-authored-by: Alexander Courtis <alex@courtis.org>
2024-01-21 15:37:46 +11:00
Kevin Ko
74525ac047
fix: allow highlight overrides for DEFAULT_DEFS: NvimTreeFolderIcon, NvimTreeWindowPicker ( #2636 )
2024-01-21 10:32:28 +11: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
Alexander Courtis
f24afa2cef
fix( #2624 ): open file from docked floating window ( #2627 )
2024-01-14 11:08:15 +11:00
Antonin Godard
5d13cc8205
feat( #1389 ): api: recursive node navigation for git and diagnostics ( #2525 )
...
* feat(#1389 ): add next recursive for git and diag moves
The recurse opt can be used to directly go to the next item showing
git/diagnostic status recursively.
Signed-off-by: Antonin Godard <antoningodard@pm.me>
* refactor: status logic in single function
Rename get_status to status_is_valid.
Use status_is_valid function in multiple place to avoid duplicating
code.
Signed-off-by: Antonin Godard <antoningodard@pm.me>
* feat(#1389 ): add prev recursive for git and diag moves
Signed-off-by: Antonin Godard <antoningodard@pm.me>
* fix(#1389 ): next recursive: take root node into account
The root node cannot have a status. Previously if moving from the root
node, status_is_valid was trying to fetch the status from it and errored.
Signed-off-by: Antonin Godard <antoningodard@pm.me>
* fix(#1389 ): doc: remove show_on_open_dirs limitation
Signed-off-by: Antonin Godard <antoningodard@pm.me>
* feat(#1389 ): move find_node_line to utils
Signed-off-by: Antonin Godard <antoningodard@pm.me>
* feat(#1389 ): doc: note recursive moves are to files only, tidy
---------
Signed-off-by: Antonin Godard <antoningodard@pm.me>
Co-authored-by: Alexander Courtis <alex@courtis.org>
2024-01-07 09:08:58 +11:00
Alexander Courtis
6a99f5af78
ci: lua language server and Makefile ( #2546 )
...
* ci: add lls-check
* ci: add lls-check to ci.yml
* ci: download lua-language-server binary
* ci: download lua-language-server binary
* ci: dummy failure to test
* Revert "ci: dummy failure to test"
This reverts commit 2bc43bad430209e32a5049a16c56710c4f6e2f7b.
* ci: ignore lls-out
* ci: better name
* ci: shellcheck nits
* ci: add luals libs and tidy
* ci: tidy
* ci: add neovim 0.9.4
* ci: add ci neovim 0.9.4 to lib path
* ci: dummy failure to test
* Revert "ci: dummy failure to test"
This reverts commit 45987335d81ec65fecc6636b339671a9a9fcdd97.
* Revert "ci: add ci neovim 0.9.4 to lib path"
This reverts commit 4f397d6ea8bbdf6e808f9dc9db5ecbae291d8cd4.
* Revert "ci: add neovim 0.9.4"
This reverts commit 46fd1b368d27a1892b55381691723db3b30a7527.
* ci: action downloads and installs luals
* ci: remove workspaces from luals
* ci: consistent script naming
* ci: add quality to contributing
* ci: consistent script naming
* ci: add lsp to diagnostics
* ci: temporary find to enumerate home
* ci: add VIMRUNTIME for lls
* ci: temporary find to enumerate home
* ci: temporary find to enumerate home
* ci: remove temporary find to enumerate home
* ci: correct VIMRUNTIME
* ci: add ${3rd}/luv/library
* ci: note VIMRUNTIME override
* ci: add Makefile
* ci: add Makefile
* ci: add Makefile
* ci: add Makefile
* ci: document checks and fixes
* ci: add help check
* ci: add help check
* ci: dummy help failure
* Revert "ci: dummy help failure"
This reverts commit c50cceaa4a .
* ci: document checks and fixes
* ci: document checks and fixes
* ci: matrix nvim version
* ci: matrix nvim version
* Revert "ci: matrix nvim version"
This reverts commit fcef6a11e9 .
* Revert "ci: matrix nvim version"
This reverts commit a8cb50d39d .
* ci: matrix nvim version from env
* ci: matrix nvim version from env
* ci: matrix nvim version from env
* ci: matrix nvim version
* ci: matrix nvim version
* ci: matrix per job
* ci: matrix per job
* ci: many lua versions
* ci: move doc to style
* ci: tidy ci and contributing
2024-01-06 13:18:52 +11:00
Alexander Courtis
fac4900bd1
fix( #2609 ): help toggle ( #2611 )
2024-01-01 12:36:57 +11: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
geril2207
02ae52357b
fix: hijack_cursor on update focused file and vim search ( #2600 )
...
refactor: hijack_cursor search skip
2023-12-31 14:40:58 +11:00
Max
96a783fbd6
fix( #2519 ): Diagnostics Not Updated When Tree Not Visible ( #2597 )
...
* fix(#2519 ): diagnostics overhaul
Signed-off-by: iusmac <iusico.maxim@libero.it>
* fix: Properly filter diagnostics from coc
Also, while we're at it, refactor the lsp function for consistency.
There should be no functional change, just cosmetic.
Signed-off-by: iusmac <iusico.maxim@libero.it>
* Assign diagnostic version per node to reduce overhead
Signed-off-by: iusmac <iusico.maxim@libero.it>
* Require renderer once
Signed-off-by: iusmac <iusico.maxim@libero.it>
* Revert "Require renderer once"
Causes circular requires after the previous commit.
This reverts commit 7413041630 .
* Rename `buffer_severity_dict` to `BUFFER_SEVERITY`
Signed-off-by: iusmac <iusico.maxim@libero.it>
* Log diagnostics update properly
Signed-off-by: iusmac <iusico.maxim@libero.it>
* Implement error handling for coc.nvim
Signed-off-by: iusmac <iusico.maxim@libero.it>
* CI style fixes
Signed-off-by: iusmac <iusico.maxim@libero.it>
* Capture `Keyboard interrupt` when handling coc exceptions
Signed-off-by: iusmac <iusico.maxim@libero.it>
* add more doc
---------
Signed-off-by: iusmac <iusico.maxim@libero.it>
Co-authored-by: Alexander Courtis <alex@courtis.org>
2023-12-30 14:30:07 +11:00
Azad
50f30bcd8c
feat: add option to skip gitignored files on git navigation ( #2583 )
...
* feat: add option to skip gitignored files on git navigation
* Add API bindings
* stylua: ignore
2023-12-19 11:29:01 +01:00
Alexander Courtis
8f92e1edd3
feat( #1850 ): add "no bookmark" filter ( #2571 )
...
* feat(#1850 ): add no bookmark filter
* feat(#1850 ): add no bookmark filter - style
2023-12-19 16:18:24 +11:00
Azad
34780aca5b
refactor: take single opts param on node navigation ( #2584 )
...
* refactor: take single `opts` param on node navigation
* `MoveOpts` -> `NavigationItemOpts`
2023-12-10 23:44:36 +01:00
Alexander Courtis
0a7c24b675
fix( #2568 ): hijack_cursor positions at top grouped node ( #2569 )
...
Co-authored-by: Azad <49314270+Akmadan23@users.noreply.github.com>
2023-12-10 00:13:22 +01:00
Alexander Courtis
27e66c2ea8
refactor( #1645 ): remove unused open_replacing_current_buffer ( #2570 )
2023-12-09 12:18:57 +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
7e5c673180
docs( #285 ): clarify api.fs.create directory creation ( #2572 )
...
docs(#285 ): clarify api.fs.create directory creation
2023-12-04 11:32:03 +11:00
Azad
05f55c1fd6
chore: remove TreeExplorer global variable ( #2561 )
2023-11-28 10:39:52 +01:00
Alexander Courtis
d5cc938ab0
refactor: api and command focus call tree.open(), soft deprecate tree.focus()
2023-11-27 14:24:55 +02:00
kezhenxu94
5e4475d8bf
fix: harden tree root cwd fetch ( #2557 )
...
Co-authored-by: Alexander Courtis <alex@courtis.org>
2023-11-26 09:39:19 +11:00
Azad
5231562caf
feat(log): add node inspection function ( #2541 )
...
* feat: add `api.tree.inspect_node_under_cursor`
* Add documentation
* Revert "feat: add `api.tree.inspect_node_under_cursor`"
This reverts commit 784ee91cc6 .
* Revert "Add documentation"
This reverts commit 6dc396d0a5 .
* feat(log): add node inspection function
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
2023-11-25 21:45:59 +01:00
John Hui
8c534822a7
feat( #2544 ): add api.tree.winid ( #2545 )
...
* feat(#2544 ): add API for querying win ID, api.tree.winid()
* Document winid() opts
Co-authored-by: Alexander Courtis <alex@courtis.org>
* Fix winid() docs
Co-authored-by: Alexander Courtis <alex@courtis.org>
* Handle case where tabpage = 0
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
2023-11-21 16:04:43 +11:00
Azad
fb89297347
fix( #2468 ): always apply filters to subdirectories ( #2537 )
...
Co-authored-by: Alexander Courtis <alex@courtis.org>
2023-11-20 11:43:35 +01:00
Alexander Courtis
46e1f776f0
fix( #2516 ): diagnostics icon highlight group matches the documentation: NvimTreeLspDiagnosticsInfo -> Information ( #2518 )
2023-11-19 15:31:52 +11:00
Cristi
8f9169a059
fix: git highlight for new staged files ( #2534 )
...
Co-authored-by: Cristian Toma <cristian.toma@vivre.eu>
Co-authored-by: Alexander Courtis <alex@courtis.org>
2023-11-19 14:47:10 +11:00
Matt W
633811c53d
fix: harden git status updates ( #2533 )
...
* fix for nil status error messages
* simplify logic
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
2023-11-19 14:43:36 +11:00
Alfonso Ros
52a1c99bf0
feat( #2530 ): keep alt filename on node.open.replace_tree_buffer ( #2531 )
...
Co-authored-by: Alfonso Ros <alfonso.ros@apex.ai>
2023-11-19 14:38:55 +11:00
geril2207
80cfeadf17
fix( #2523 ): live filter overlay width calculation ( #2524 )
...
* fix: live filter overlay width calculation
* refactor: simplify calculate_width return if not wininfo
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
2023-11-13 09:49:14 +11:00
Azad
874ae6e944
fix: reload tree on BufEnter if cwd is different ( #2527 )
...
Co-authored-by: Alexander Courtis <alex@courtis.org>
2023-11-12 13:14:32 +11:00
geril2207
74ddb8f2bb
fix: cleanup live filter scratch buffers ( #2522 )
2023-11-12 12:53:24 +11:00
Azad
a2aaf8b430
feat( #2515 ): add option to change grouped folders name with custom function ( #2521 )
...
* Add option to change grouped folders name with custom function
* Fix docs
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
2023-11-09 11:20:29 +01:00
geril2207
4ee6366ff1
fix( #2512 ): file creation in empty folder without root_folder_label ( #2514 )
...
Co-authored-by: Alexander Courtis <alex@courtis.org>
2023-11-08 09:01:28 +11:00
Azad
0a99c4a23e
feat: allow cycling on git/diagnostic/opened files navigation ( #2506 )
...
* feat: allow cycling on git/diagnostic/opened files navigation
* luacheck
* Remove useless nil check
* Cycle only if `wrapscan` is enabled
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
2023-11-07 00:39:08 +01:00
Dongyomi
20a0707e0f
fix( #2507 ): icon in message after rename-file ( #2510 )
...
* fix(#2507 ): icon in message after rename-file
* fix(#2507 ): icon in message after rename-file
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
2023-11-06 10:38:16 +11:00
geril2207
24bb0ed806
fix: error when deleting opened file from floating window ( #2503 )
2023-11-06 09:35:51 +11:00
Tomasz N
7e3c0bee7b
feat: renderer.full_name includes root node ( #2502 )
...
* Do not exclude root node from `full_name`
* fix range
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
2023-10-30 13:17:33 +11:00
Azad
7630cf4a92
fix( #2495 ): skip API action if node == nil ( #2499 )
...
* fix(#2495 ): skip action if node == nil
* simplify
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
2023-10-30 12:46:21 +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