* feat: Add highlight group for opened folder
closes#1674
* docs: Add NvimTreeOpenedFolderIcon default
* feat: Add NvimTreeClosedFolderIcon highlight group
Defaults to NvimTreeFolderIcon
* Add new renderer setting `add_root_updir` to fix#1743.
* Fix default value in docs.
* Remove proposed “add_root_updir” and rename “root_folder_modifier” to “root_folder_label”. Also, “root_folder_label” can be also a function now.
* chore: warn users about breaking change
* fix(#1743): use silent migration of root_folder_modifier
* fix(#1743): add example, document previous renderer.root_folder_modifier
* Add check to validate return type of “root_folder_label” is string.
* Change “root_folder_label” default value to “:~:s?$?/..?”.
* Add missing keyword “local” to local variable “label”.
Co-authored-by: David Aguilera <david.aguilera@neliosoftware.com>
Co-authored-by: gegoune <dev@clog.rocks>
Co-authored-by: Alexander Courtis <alex@courtis.org>
* feat: add config option for a tree indent width
add 'indent_width' option to configure visible indent for tree nesting
levels (default is 2).
* add 'bottom' char for a corner extension
* apply stylua formatting
* provide value constraints in documentation
* limit minimal indent width
* make marker symbols have one utf8 char width
* match stylua formatting
* add the commentary regarding utf-8 first symbol match
Concat and apply git highlight inside the builder.
This allows to not leak private data from builder to the git component.
This will also now allow us to customize git icon placement.
This greatly simplifies the folder highlighting logic. It wasn't clear
before and the code was probably doing more than it should. The logic
with highlight_opened_file wasn't working at all, so i just removed it.
This should allow us to greatly extend the order in which the components
are rendered.
- use a builder pattern to mount the lines / highlights
- i think we lost a little performance, but gain in design
- code for file/folder icons is abstracted in components/icons.lua
- should also fix the issues where vim.g variables where loaded before
setup.