Commit Graph

1500 Commits

Author SHA1 Message Date
Azad
113e0950c8
feat: split startup warning messages into multiple lines (#2436) 2023-10-01 12:51:49 +11:00
dependabot[bot]
934469b9b6
chore(deps): bump amannn/action-semantic-pull-request from 5.2.0 to 5.3.0 (#2435)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-26 10:21:35 +02:00
Azad
ce3495bd4c
fix: schedule notifications to avoid UI freeze on startup (#2432)
* fix: schedule notifications to avoid UI freeze on startup

* stylua
2023-09-26 08:41:23 +10:00
Alexander Courtis
07eb5b4059
docs: notify deprecated hide_root_folder (#2431) 2023-09-24 15:15:19 +10: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
Azad
ea147418e0
feat: validate all option types (#2414)
* refactor: follow config structure for `ACCEPTED_TYPES`

* Bug fix

* Fix check for default values

* Reduce error notifications verbosity

* Address issues introduced previously

* stylua

---------

Co-authored-by: Alexander Courtis <alex@courtis.org>
2023-09-23 14:56:17 +10:00
Azad
914a6868cb
docs: add missing quotes (#2424) 2023-09-23 12:06:48 +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
Azad
f742b86852
fix: add legacy options safety 2023-09-17 11:08:57 +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
94c7c810af Revert "fix: ensure startup warnings are visible with a multiline message, to work around https://github.com/neovim/neovim/issues/17832 planned for fix in nvim 0.10 (#2387)"
This reverts commit 807dc05156.
2023-09-10 10:38:49 +10:00
Alexander Courtis
b7f6600bc2
feat(#2197): git and diagnostics folder highlight groups (#2409)
* feat(#2197): add git folder highlight groups

* feat(#2197): add diagnostics folder highlight groups
2023-09-09 15:13:14 +10:00
Alexander Courtis
8f48426c88
feat(#2316): add NvimTreeFolderArrowClosed NvimTreeFolderArrowOpen (#2408) 2023-09-09 14:21:25 +10:00
Alexander Courtis
33c3bc562b
feat(#2398): add NvimTreeOpenedFileIcon (#2407) 2023-09-09 13:31:40 +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
Azad
51f02366de
feat: validate some option string values (#2404)
* Add check for accepted strings in user opts

* option failures point to :help nvim-tree-opts

---------

Co-authored-by: Alexander Courtis <alex@courtis.org>
2023-09-09 11:07:06 +10:00
dependabot[bot]
ec33d4befa
chore(deps): bump actions/checkout from 3 to 4 (#2403) 2023-09-05 12:45:39 +02:00
Alexander Courtis
5897b3622f
fix(#2386): kill git zombies (#2401) 2023-09-03 17:26:05 +10:00
Alexander Courtis
277632fbd9
docs: enhance quickstart, document git timeouts (#2400)
* doc: clarify git and remove bookmarks

* doc: break up quickstart
2023-09-03 16:36:37 +10:00
Alexander Courtis
a2b6e5ad2a
docs: help sections and tidy (#2399)
* doc: add nvim-tree-options, sort root level options

* doc: reorder default options, add sections

* doc: collapse opts spacing and tidy

* doc: tidy highlight groups
2023-09-03 15:52:33 +10:00
Alexander Courtis
323f65cb9c
feat(#1917): add diagnostic highlighting and icon placement (#2396)
* feat(#1917): add renderer.highlight_diagnostics

* feat(#1917): add renderer.highlight_diagnostics

* feat(#1917): add enderer.icons.diagnostics_placement

* feat(#1917): add renderer.icons.show.diagnostics

* feat(#1917): document highlight overrides
2023-09-03 12:29:33 +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
Danie-1
00741206c2
fix: expand and collapse whole folder groups (#2380)
* fix: expand and collapse whole folder groups

* refactor: rename some usages of `next`

---------

Co-authored-by: Alexander Courtis <alex@courtis.org>
2023-08-26 14:44:38 +10:00
Antonio Sarosi
b144b33390
feat(#2369): add full renderer.icons.web_devicons options for file and folder (#2375)
* Add `webdev_colors_folder` option

* Check if `M.devicons` exists

* Refactor `get_folder_icon`

* Add configuration options for both files and folders

* web_devicons.*.enabled -> enable

* silent migration: renderer.icons.webdev_colors -> renderer.icons.web_devicons.file.color

* silent migration: renderer.icons.webdev_colors -> renderer.icons.web_devicons.file.color

---------

Co-authored-by: Alexander Courtis <alex@courtis.org>
2023-08-26 14:42:44 +10:00
Azad
d11d701857
feat(#2364): add option to sort files first (#2366)
* feat(#2364): add option to show files first

* Refactor `folders_or_files_first` function

* Improve readability

* Remove `fallback` from `folders_or_files_first` function

---------

Co-authored-by: Alexander Courtis <alex@courtis.org>
2023-08-26 14:15:56 +10:00
Alexander Courtis
807dc05156
fix: ensure startup warnings are visible with a multiline message, to work around https://github.com/neovim/neovim/issues/17832 planned for fix in nvim 0.10 (#2387) 2023-08-26 13:40:25 +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
Devansh Sharma
dea82ae207
docs: fix typo in API Node section (#2381) 2023-08-18 23:54:16 +02:00
Alexander Courtis
18c7a31198
chore: remove legacy view.mappings.list (#2371) 2023-08-14 17:41:55 +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
116b88564f
chore: use stdpath "log" rather than "cache" (#2372) 2023-08-14 11:03:38 +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
Alexander Courtis
904f95cd9d
fix: prompt uses first character of response - allow "yy" (#2357) 2023-08-06 13:26:10 +10:00
xundaoxd
0042886db0
select yes default when select_prompts = false in lib.prompt (#2337)
Co-authored-by: yinchaogao <yinchaogao@deeproute.ai>
Co-authored-by: Alexander Courtis <alex@courtis.org>
2023-08-06 11:14:14 +10:00
Alexander Courtis
6c3ddcbc10
doc: sort.sort_folders_first -> sort.folders_first (#2355) 2023-08-06 10:50:51 +10:00
Danila Usachev
0a89dcb464
fix(#2343): tree is now correctly abandoned upon an in-place open with eject=false (#2344) 2023-08-01 10:53:58 +10:00
Danila Usachev
4bd30f0137
feat: add actions.open_file.eject (#2341)
* feat: added prevent_buffer_override option to allow in-place opens by :e

* Moved option check inside the callback

* Renamed option to eject
2023-07-29 17:45:03 +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
c1466f991a
fix(#2327): set parent folder git ignore status following file update (#2328)
* fix(#1931): do not execute git status in git ignored directories

* fix(#1931): reload.refresh_node is always asynchronous

* fix(#2327): set parent folder ignore status following file update
2023-07-29 16:28:19 +10:00
Alexander Courtis
273c1700eb
fix(#1931): do not execute git status in git ignored directories (#2326)
* fix(#1931): do not execute git status in git ignored directories

* fix(#1931): reload.refresh_node is always asynchronous
2023-07-23 17:12:49 +10:00
Stefano Stoduto
3b62c6bf2c
feat(event): add TreeRendered (#2324)
* add TreeRendered event

* pass bufnr and winnr to TreeRendered event

---------

Co-authored-by: Alexander Courtis <alex@courtis.org>
2023-07-16 17:22:45 +10:00
Alexander Courtis
697bfaccac
feat: add filters.git_ignored (prev git.ignore), apply "Toggle Filter:" prefix to mapping descriptions (#2325) 2023-07-16 13:26:03 +10:00
Zach Himsel
a6daf50b9d
feat: support custom $GIT_DIR (#2263)
* feat: Watch $GIT_DIR for git changes, if set

While rarely used, it's possible to set the $GIT_DIR environment
variable to instruct git to use a directory other than `.git`.

This checks if that environment variable is set; if it is, the plugin
will watch that directory. If it's not set, it'll fall back to the
default `.git` directory.

* fix: Don't create two watchers for $GIT_DIR

This will ignore a path for watching if EITHER it's '.git', or the value
of $GIT_DIR (if it's set).

If $GIT_DIR is not set, the vim.env object returns `nil`, which will
never match `path`.

* fix: Attempt to make a relative $GIT_DIR absolute
2023-07-16 12:44:21 +10:00
Alexander Courtis
ef305a888b
feat(#2313): sort_by -> sort.sorter, add sort.folders_first default true (#2314)
* feat(#2313): add sort_folders_first, default true

* feat(#2313): add sort.sorter, sort.folders_firs
2023-07-15 15:20:22 +10:00
Cyber Oliveira
a708bd2413
feat: add sort_by "suffix" (#2307)
* feat: adds new type of sorting based on the filename's suffix

* chore(syntax): using string colon methods

* fix(regex): use alphanumeric match for extensions

* feat: adds new type of sorting based on the filename's suffix

---------

Co-authored-by: Alexander Courtis <alex@courtis.org>
2023-07-09 13:49:41 +10:00
Cyber Oliveira
04b2c1e08c
fix: sort_by "extension" falls back to name (#2306)
* fix(extension/sorter): fallbacks to C.name when both exts are the same or nil

* fix(nil): files with no extension

* fix(nil): files with no extension

---------

Co-authored-by: Alexander Courtis <alex@courtis.org>
2023-07-09 13:12:49 +10:00
Cyber Oliveira
3d2fd90b28
feat: add sort_by "filetype" (#2302)
* feat: adds new type of sorting based on vim's filetype detection

* fix(ft/sorter): fallbacks to C.name when both ft's are nil or equal

* feat: adds new type of sorting based on vim's filetype detection

---------

Co-authored-by: Alexander Courtis <alex@courtis.org>
2023-07-09 12:31:06 +10:00
Alexander Courtis
4af572246c
fix(#1989): cut/paste over open buffer (#2279)
* fix(#1989): cut/paste overwrite deletes destination buffer

* fix(#1989): cut/paste overwrite deletes destination buffer
2023-07-02 17:13:50 +10:00