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
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
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
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
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
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
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
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
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
Azad
c2194e940c
feat( #2312 ): fire TextYankPost event on path copy ( #2489 )
...
* feat(#2312 ): fire `TextYankPost` event on path copy
* stylua
* Bug fix
---------
Co-authored-by: Alexander Courtis <alex@courtis.org >
2023-10-23 08:56:06 +11:00
umlx5h
aaee4cd896
feat: api.node.open.preview_no_picker with default mapping <S-Tab> ( #2464 )
...
* feat: add preview with no window picker action
* feat: preview_no_window_picker -> preview_no_picker
---------
Co-authored-by: Alexander Courtis <alex@courtis.org >
2023-10-15 14:04:04 +11:00
Benoit Charles
0882354517
feat( #2148 ): api.fs.rename_full ( #2461 )
...
* feat(#2148 ): add rename_full in API
* feat(#2148 ): add default mapping 'u' for rename_full
---------
Co-authored-by: Alexander Courtis <alex@courtis.org >
2023-10-15 13:40:40 +11:00
Azad
4054fc4be3
refactor: format tables line by line for better readability ( #2456 )
...
* Format tables line by line for better readability
* Forgot a comma
---------
Co-authored-by: Alexander Courtis <alex@courtis.org >
2023-10-14 18:07:28 +11:00
Alexander Courtis
53b0bcaada
chore: stylua column width 120 -> 140 ( #2448 )
...
* chore: stylua column width 120 -> 140
* chore: stylua column width 120 -> 140, tidy
* Revert "chore: stylua column width 120 -> 140, tidy"
This reverts commit 8a0524d6bd .
* chore: stylua column width 120 -> 140, tidy watcher.lua
* chore: stylua column width 120 -> 140, tidy diagnostics.lua
* chore: stylua column width 120 -> 140, tidy git.lua
* chore: stylua column width 120 -> 140, tidy open-file.lua
* chore: stylua column width 120 -> 140, tidy system-open.lua
* chore: stylua column width 120 -> 140, tidy runner.lua
2023-10-08 11:40:58 +11:00
Alexander Courtis
d8e495b235
fix( #2154 ): selection incorrect after find-file when renderer.group_empty ( #2437 )
2023-10-07 12:24:19 +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
Alexander Courtis
a3aa3b47ea
feat( #1079 ): add renderer.highlight_clipboard default name, defaults to undercurls ( #2410 )
...
* 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(#1079 ): add renderer.highlight_clipboard
* feat(#1079 ): renderer.highlight_clipboard takes options, style cut/copy HL
* feat(#1079 ): renderer.highlight_clipboard takes options, style cut/copy HL
* feat(#1079 ): use an enum for highlight position
* feat(#1079 ): diagnostics uses _append_highlight
2023-09-17 16:08:04 +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
Alexander Courtis
28c3980b25
fix( #2382 ): git watcher handles worktrees and submodules, via --absolute-git-dir when it is available ( #2389 )
...
* fix(#2382 ): use --absolute-git-dir when available
* fix(#2382 ): use --absolute-git-dir when available
* fix(#2382 ): rename private git members, destroy git watchers on purge
* fix(#2382 ): consistent naming of toplevel
* fix(#2382 ): more doc and safety
* fix(#2382 ): consistent naming of toplevel
* fix(#2382 ): consistent naming of toplevel
2023-09-02 12:05:34 +10: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
davisthedev
7c4c7e4e98
fix( #2352 ): windows: escape special filename characters on edit ( #2374 )
...
* Fix escape special characters on windows
fixes #2362
* use utils for windows check
* Add function to escape special chars on windows
* Change escape string function to use and/or
* Add nil check in escape special chars function
---------
Co-authored-by: Davis Sanders <dsanders@smartlink.city >
Co-authored-by: Alexander Courtis <alex@courtis.org >
2023-08-20 13:27:33 +10:00
Alexander Courtis
4e36850811
fix( #2301 ): various git folder status fixes ( #2373 )
...
* fix(#2301 ): reloader handles grouped
* fix(#2301 ): explore uses correct git project for grouped
* fix(#2301 ): update parent status correctly across repositories
* fix(#2301 ): missing require
2023-08-20 12:53:41 +10:00
Alexander Courtis
ace64228ad
feat( #2305 ): find file refreshes up the tree when node is not present ( #2358 )
2023-08-14 11:08:16 +10:00
Alexander Courtis
0a54dcb76b
fix: trash.cmd defaults to 'trash' on macos and windows, document option ( #2336 )
...
* fix: trash.cmd defaults to 'trash' on macos
* fix: macOS and windows default trash commands, allow trash on all OS
* fix: windows default trash command doc
* fix: trash.cmd message
2023-08-13 12:18:06 +10:00
linrongbin16
75c05742bc
feat(trash): add synchronized trash support for windows ( #2335 )
...
* feat(trash): support 'trash' on Windows
* feat(trash): need sync wait on Windows to avoid switch to other app from nvim process
* doc: remove 'Only available for UNIX'
* doc(trash): highlight 'Trash' on Windows is syncrhonized
* doc(trash): highlight 'trash' on Windows is synchronized
* doc(trash): remove dot
* fix(trash): check for unix and windows
* fix(trash): comment
---------
Co-authored-by: Alexander Courtis <alex@courtis.org >
2023-07-29 17:34:47 +10:00
Alexander Courtis
1fe32286db
fix( #2293 ): remove unnecessary git status during find file ( #2294 )
2023-07-01 11:28:20 +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
Alexander Courtis
7aff29d755
feat( #2277 ): skip overwrite prompt when copy/cut paste into same directory ( #2278 )
2023-06-25 11:37:55 +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
Azad
f873625d06
fix: focus visible parent on collapse all ( #2261 )
...
Co-authored-by: Alexander Courtis <alex@courtis.org >
2023-06-12 16:05:06 +10:00
Azad
576d4c1b03
refactor: move reload function into utils module ( #2247 )
...
* refactor: move `reload` function into `utils` module
* docs: add annotations to `utils.focus_node_or_parent`
---------
Co-authored-by: Alexander Courtis <alex@courtis.org >
2023-06-10 16:02:02 +10:00
Azad
d5d6950a0d
fix( #1785 ): retain focused node on filter toggles ( #2202 )
...
* feat(live-filter): focus selected node after clear
* fix(#1785 ): retain focused node on filter toggle
* fix(#1785 ): apply requested changes
* fix(live-filter): focus last focused node when cleared on prompt
* refactor: store last focused node in `view` module
* refactor: store last focused node in view module
---------
Co-authored-by: Alexander Courtis <alex@courtis.org >
2023-05-27 13:47:36 +10:00
Alexander Courtis
b1e074d2b5
feat: add winid parameter for api.tree.open, toggle, find_file ( #2213 )
...
* feat: add winid parameter for api.tree.open, toggle, find_file
* feat: add winid parameter for api.tree.open, toggle, find_file
2023-05-21 17:37:22 +10:00
Alexander Courtis
b6574056b5
fix( #2191 ): edit: disregard floating windows ( #2212 )
2023-05-15 10:38:11 +10:00
Alexander Courtis
89816ace70
fix( #2191 ): edit: disregard floating windows ( #2209 )
2023-05-14 11:30:01 +10:00
gegoune
0df384b6c0
feat(api): add node.open.drop() ( #2164 )
...
Co-authored-by: Alexander Courtis <alex@courtis.org >
2023-04-30 09:35:25 +02:00
Alexander Courtis
9c60947926
fix( #2175 ): check number of actions.open_file.window_picker.chars before picking window ( #2177 )
2023-04-30 15:56:46 +10:00
Zhanibek Adilbekov
d8b154c5f0
fix( #2154 ): find_file doesn't work when group_empty option is enabled ( #2100 )
...
Co-authored-by: Alexander Courtis <alex@courtis.org >
2023-04-29 17:03:20 +10:00
baahrens
061a05bfd9
fix( #2132 ): focus file after rename and paste ( #2151 )
...
* feat: Focus file after creation
* feat: Focus file after pasting
---------
Co-authored-by: Alexander Courtis <alex@courtis.org >
2023-04-23 13:59:16 +10:00
hinell
d68b00a63e
feat(api): Add new node selection action based on tab :drop command ( #2161 )
...
Co-authored-by: gegoune <dev@clog.rocks >
2023-04-23 02:41:21 +03:00
Anshuman Medhi
8f392fa763
fix( #2126 ): custom window pickers may create windows ( #2140 )
...
call nvim_list_wins again after the picker is run
2023-04-16 15:58:10 +10:00
Alexander Courtis
0a144ba50a
fix( #2109 ): floating help window ( #2120 )
...
* fix(#2109 ): floating help window
* fix(#2109 ): floating help window
* fix(#2109 ): floating help window
* fix(#2109 ): floating help window
* fix(#2109 ): floating help window
* fix(#2109 ): floating help window
* fix(#2109 ): floating help window
* fix(#2109 ): floating help window
* help float no border
Co-authored-by: gegoune <69750637+gegoune@users.noreply.github.com >
* Update lua/nvim-tree/help.lua
Co-authored-by: gegoune <69750637+gegoune@users.noreply.github.com >
* Update lua/nvim-tree/help.lua
Co-authored-by: gegoune <69750637+gegoune@users.noreply.github.com >
* Update lua/nvim-tree/help.lua
Co-authored-by: gegoune <69750637+gegoune@users.noreply.github.com >
* Update lua/nvim-tree/help.lua
Co-authored-by: gegoune <69750637+gegoune@users.noreply.github.com >
* fix(#2109 ): floating help window
* fix(#2109 ): floating help window
---------
Co-authored-by: gegoune <69750637+gegoune@users.noreply.github.com >
2023-04-15 14:59:30 +10:00