Commit Graph

273 Commits

Author SHA1 Message Date
Alexander Courtis
48d53a5934
feat(#1669): remove deprecated open_on_setup mechanisms (#2122) 2023-04-11 14:53:27 +10:00
Zhizhen He
aa9971768a
doc: spelling (#2070) 2023-03-21 16:39:45 +11:00
Alexander Courtis
1d79a64a88
doc: README installation points to wiki for plugin manager instructions (#2055) 2023-03-14 10:06:47 +11:00
Alexander Courtis
74959750f7
feat: automated migration from view.mappings.list to on_attach, see https://github.com/nvim-tree/nvim-tree.lua/wiki/Migrating-To-on_attach (#1579)
* chore(mappings): migrate legacy mappings under the hood

* chore(mappings): POC for help and :help on_attach keymaps

* chore(mappings): POC for help and :help on_attach keymaps

* chore(mappings): add desc to all mappings, show in help, reformat help

* chore(mappings): add desc to all mappings

* chore(mappings): add desc to all mappings

* chore(mappings): escape help keys

* chore(mappings): migrate legacy mappings under the hood: map keymap to legacy mappings

* chore(mappings): migrate legacy mappings under the hood: remove dispatch

* Revert "chore(mappings): migrate legacy mappings under the hood: remove dispatch"

This reverts commit f6f439ba59.

* chore(mappings): migrate legacy mappings under the hood: pass node to action_cb

* chore(mappings): migrate legacy mappings under the hood: remove dispatch

* chore(mappings): migrate legacy mappings under the hood: replace mappigns with keymaps in help

* chore(mappings): generate on_attach from user's legacy mappings

* chore(mappings): generate on_attach from user's legacy mappings

* chore(mappings): merge cleanup

* chore(mappings): use default mappings when on_attach not present, log legacy migration

* on_attach is default or user only, legacy and generation includes defaults (#1777)

* chore(mappings): remove mappings via vim.keymap.del instead of filtering mappings, to allow for multiple ways of specifying a key

* doc: specify that the terminal emulator must be configured to use the patched font

* feat(renderer): add NvimTreeOpenedFolderIcon NvimTreeClosedFolderIcon (#1768)

* feat: Add highlight group for opened folder

closes #1674

* docs: Add NvimTreeOpenedFolderIcon default

* feat: Add NvimTreeClosedFolderIcon highlight group

Defaults to NvimTreeFolderIcon

* feat: add diagnostics.show_on_open_dirs git.show_on_open_dirs (#1778)

* feat(diagnostics): only show diagnostic on closed folder

* feat(git): only show git icon on closed folder

* docs: Update feature_request.md (#1788)

* Update feature_request.md

Closes #1654

* Update feature_request.md

Co-authored-by: Alexander Courtis <alex@courtis.org>

* 1786 git next prev land on dirs (#1787)

* Filtered dir with git status that are open when show_on_open_dir is false

* refactored for single source of truth of existence of git status on a node

Putting `has_git_status()` in `explorer.common` because that's where node.status is constructed
Or at least I think that's where it's constructed

* 1786 semantic nit

Co-authored-by: Alexander Courtis <alex@courtis.org>

* fix(git): git rename not showing up for the renamed file (#1783)

* fixed git rename not showing up for the renamed file

* considered " -> " being a part of the filename

Fixed -> pattern to escape -
Fixed "\"" and "\\" in filename

* using string.find(, , true) to match plain ->

* Using -z and removed unnecessary logic

* feat(view): always enable cursorline, users may change this behaviour via Event.TreeOpen (#1814)

* Update view.lua

* set cursorline to true

* feat(event): dispatch Event.NodeRenamed on cut-paste (#1817)

* feat(view): add filters.git_clean, filters.no_buffer (#1784)

* feat(view): add filters.git_clean

* feat(view): add filters.git_clean

* feat(view): add filters.no_buffer

* feat(view): filters.no_buffer misses unloaded, handles buffer in/out

* feat(view): filters.no_buffer matches directories specifically

* feat(view): filters.no_buffer clarify targets

* feat: add placeholder filters.diagnostics_ok, refactor filters

* feat(view): remove placeholder filters.diagnostics_ok

* doc: consolidate and clarify :help examples

* doc: format help

* feat: paste and create always target closed folder, remove create_in_closed_folder (#1802)

* Fix default for file creation in closed directories

* Make paste in closed directories consistent with create

* doc: clarify create_in_closed_folder

* Remove create_in_closed_folder option

* doc: clarify create_in_closed_folder removal message (whoops)

Co-authored-by: Alexander Courtis <alex@courtis.org>

* on_attach is user's or default, nothing else; legacy generated on_attach includes defaults

Co-authored-by: baahrens <bahrens@compeon.de>
Co-authored-by: Richard Li <38484873+chomosuke@users.noreply.github.com>
Co-authored-by: gegoune <69750637+gegoune@users.noreply.github.com>
Co-authored-by: rishabhjain9191 <rishabh.jain9191@gmail.com>
Co-authored-by: Anton <14187674+antosha417@users.noreply.github.com>
Co-authored-by: Eric Haynes <ehaynes99@gmail.com>

* on_attach_default hardcoded

* format default_on_attach

* source default on_attach directly

* remove human mappings help

* simplified on_attach generation

* simplified on_attach generation

* generate default on_attach

* generate default on_attach

* split out keymap_legacy

* add recently introduced mappings

* legacy api.config.mappings.active and default

* legacy api.config.mappings.active and default

* on_attach help and readme

* legacy generate handles action = ""

* legacy generate handles action =

* legacy generate gives defaults when no user mappings

* legacy generate handles action = ""

* legacy generate api handles overrides

* legacy generate handles subsequent setup, on_attach retains deep copies of legacy config

* add wiki link to generated on_attach

* add opts helper function for on_attach, prefixing 'nvim-tree: '

---------

Co-authored-by: kiyan <yazdani.kiyan@protonmail.com>
Co-authored-by: baahrens <bahrens@compeon.de>
Co-authored-by: Richard Li <38484873+chomosuke@users.noreply.github.com>
Co-authored-by: gegoune <69750637+gegoune@users.noreply.github.com>
Co-authored-by: rishabhjain9191 <rishabh.jain9191@gmail.com>
Co-authored-by: Anton <14187674+antosha417@users.noreply.github.com>
Co-authored-by: Eric Haynes <ehaynes99@gmail.com>
2023-02-27 14:19:50 +11:00
Alexander Courtis
59e65d88db doc: README: broadcast Open At Startup change 2023-02-05 12:39:14 +11:00
Peter van der Meulen
e05ed6a60f
feat(view): add view.width.padding (#1941)
* fix: variable width accounts for sign/number columns

* Add dynamic sizing padding options

with https://github.com/neovim/neovim/pull/20621 merged in it is now
possible to fully customize the status-column in nvim (the column on the
left containing line-numbers, fold info, signs and borders).

A fair few cool implementations have popped up like:
- https://github.com/CKolkey/config/blob/master/nvim/after/plugin/statuscolumn.lua
- https://github.com/luukvbaal/statuscol.nvim
- and my own personal one (based on CKolkey's fantastic work) https://git.hendrikpeter.net/hendrikpeter/pico-vim/-/blob/main/lua/peva/status_column.lua

The problem with nvim-tree however is that dynamic sizing doesn't take
the custom size of a status column into account and the end of file
names get clipped off. This little patch should fix that (and give some
examples to help other status_column modders get started).

Thanks for looking at this and thanks for making this amazing plugin,
I've been using it for a while and I really like it!

* allow padding function, update docs, rollback readme

* typo in example setup

* help formatting

---------

Co-authored-by: Alexander Courtis <alex@courtis.org>
2023-01-28 14:07:14 +11:00
Alexander Courtis
9d27c9ebea doc: add recipes and tips links to API 2023-01-01 08:32:18 +11:00
Alexander Courtis
013b4982d9 doc: add recipes and tips links to API 2023-01-01 08:31:47 +11:00
Alexander Courtis
cdb40dc42e neovim requirement 0.7.0 -> 0.8.0, remove WinSeparator/VertSplit compatibility shims 2022-12-16 13:45:16 +11:00
Alexander Courtis
9f7bed5536 doc: specify that the terminal emulator must be configured to use the patched font 2022-11-28 10:26:37 +11:00
Alexander Courtis
f1f89f2062 contributions reference wiki 2022-11-13 15:09:20 +11:00
Alexander Courtis
bed442fd93 move troubleshooting from readme to wiki 2022-11-13 14:45:13 +11:00
Alexander Courtis
77dd666e36 doc: move tips to wiki 2022-11-13 14:33:31 +11:00
Alexander Courtis
e0e23f2d62 doc: add labels hint to contributing 2022-11-13 10:37:21 +11:00
Alexander Courtis
cb98892dea doc: add hitest notes and add termguicolors to example setups 2022-10-29 12:45:24 +11:00
Alexander Courtis
0122a71fce
doc(#1655): add roadmap and expand on API/events/actions (#1666)
* doc(#1655): add roadmap and expand on API/events/actions

* doc(#1655): add roadmap and expand on API/events/actions
2022-10-23 15:01:58 +11:00
Alexander Courtis
3170e33462 doc(#1606): specify watcher and git when profiling 2022-10-23 10:47:47 +11:00
Alexander Courtis
6ff828b25b doc: vim.g.loaded -> vim.g.loaded_netrw 2022-10-15 10:50:07 +11:00
Alexander Courtis
23a564f1cd doc: link screenshots to showcases page 2022-10-15 10:19:14 +11:00
Ali Almohaya
b07701f9da
chore: remove pngs from .github folder and use direct links for imgs in README.md (#1642) 2022-10-13 16:55:12 +02:00
Alexander Courtis
875d38e52c doc: add alex-courtis screenshot with source 2022-10-09 14:54:55 +11:00
Alexander Courtis
0db4977303 doc: update hero screenshots with default options 2022-10-09 14:18:00 +11:00
kiyan
b4d704e88d chore: replace urls from kyazdani42 -> nvim-tree 2022-10-08 11:31:57 +02:00
Alexander Courtis
52b0c32152
chore: add help screenshot, update example 2022-09-23 11:16:21 +10:00
Alexander Courtis
fb8735e96c doc: eager netrw disabling 2022-09-11 11:41:12 +10:00
Kiyan
e7832785d2
feat(api): add public API module (#1432) 2022-07-25 11:11:48 +02:00
Alexander Courtis
26d0757bd9 doc: fix bad link in readme 2022-07-11 09:44:43 +10:00
Arthur
fdcdb0ddf3
:help nvim-tree.setup -> :help nvim-tree-setup (#1409) 2022-07-09 12:10:59 +02:00
Alexander Courtis
08db5a576d doc: clarify need for patched font for nvim-web-devicons 2022-07-09 11:14:15 +10:00
Alexander Courtis
22044589fe doc: add tip to hide .git folder 2022-07-09 10:37:18 +10:00
Alexander Courtis
c18aa389a3 doc: setup may be invoked multiple times 2022-06-28 11:27:14 +10:00
Alexander Courtis
247f80b633 doc: clarify quit-on-last-window-hack support status 2022-06-27 09:34:24 +10:00
Alexander Courtis
65beb55ac7
doc(#1368): more quit-on-last-window warnings 2022-06-25 12:43:14 +10:00
Kiyan
f262236107
chore: add matrix link to readme 2022-06-19 10:49:53 +02:00
gegoune
aba394896b
docs: lighten up readme and rework docs (#1327)
* docs: lighten up readme and rework docs

* docs: clean up mappings from readme + some other small changes

* docs: move sections around

* ci: remove readme parts of docs' autogen

* docs: discuss nvim-web-devicons and provide an example

* docs: add an example setup

* docs: fix opts scraping; try and make more macos compatible

* docs: add *nvim-tree* tag at start of help

* docs: add an example setup

* docs: update quick start to match readme

* docs: add basic commands

* docs: add g? hint

* docs: add :help links to readme

* docs: restore help wanted

* docs: add example screenshot

* docs: add features

* docs: add example screenshot

* docs: add features to help

* docs: clarify option functions

Co-authored-by: Alexander Courtis <alex@courtis.org>
2022-06-18 14:14:42 +10:00
kylo252
1caca62854
feat(view): ability to centralize view on entering (#1310) 2022-06-07 10:09:58 +10:00
lu5je0
821f050fda
feat: full-name of node in floating window (#1305) 2022-06-06 11:15:03 +02:00
Raafat Turki
3c936c7cb6
feat(trash): default command 'trash' -> 'gio trash' (#1323) 2022-06-06 11:13:37 +02:00
Rammiah
6f6eab14dc
feat(renderer): indent_markers add a item icon (#1321) 2022-06-05 14:19:19 +02:00
Kiyan
b0d27c09b6
feat(explorer): add filesystem watchers (#1304)
* feat(explorer): add experimental watchers

This commit introduces watchers to update the tree.
This behavior is introduced behind an "filesystem_watchers" option
which should prevent instabilities.
It will become the default at some point.

Co-authored-by: Alexander Courtis <alex@courtis.org>
2022-06-05 12:39:39 +02:00
Alexander Courtis
a5793f1edb
doc: add help wanted and contributing (#1319) 2022-06-05 11:52:08 +02:00
Alexander Courtis
3aeb59b075 doc: setup call is only allowed once 2022-06-04 12:37:02 +10:00
Kiyan
2002b21be7
feat(resize): add ability to grow and shrink the tree when drawing (#1293)
Will adapt the view size based on the longest line.
fixes #865
2022-05-31 09:05:00 +02:00
Alexander Courtis
8198fa01fc
doc: default mappings 2022-05-30 12:53:28 +10:00
emmanueltouzery
3806653d75
new option: close windows displaying removed files (#1300) 2022-05-29 11:23:01 +02:00
Kiyan
3a95c5a9cf
feat(actions): expand all under folder (#1292) 2022-05-29 11:15:32 +02:00
Alexander Courtis
84cb79e760
update auto-close answer 2022-05-28 12:13:50 +10:00
Alexander Courtis
3ba383d591
chore/remove globals (#1279)
* remove renderer globals: nvim_tree_add_trailing nvim_tree_highlight_opened_files nvim_tree_root_folder_modifier nvim_tree_special_files

* remove renderer globals: nvim_tree_icon_padding

* remove renderer globals: nvim_tree_symlink_arrow

* remove renderer globals: nvim_tree_show_icons, nvim_tree_show_icons

* remove renderer globals: nvim_tree_git_hl

* remove renderer globals: nvim_tree_group_empty

* remove renderer globals: respect_buf_cwd

* remove renderer globals: nvim_tree_create_in_closed_folder

* remove globals: consistency in legacy checks

* remove renderer globals: nvim_tree_special_files

* renderer.icons.symbols -> glyphs
2022-05-28 11:08:40 +10:00
kiyan
17d5bd64e8 chore(config): auto resize the tree by default when opening a file.
config.open_file.auto_resize is now true by default.
Breaking change for default configurations.
See https://github.com/kyazdani42/nvim-tree.lua/issues/1275#issuecomment-1133515999
2022-05-21 11:27:49 +02:00
Michael
9563a11ce0
feat: reload explorer on buf enter (#1265) 2022-05-17 10:04:08 +02:00