* chore(#3271): add new format-check, rename style-fix to format-fix
* chore(#3271): CI install CodeFormat from luarocks
* chore(#3271): CI install CodeFormat from luarocks
* chore(#3271): CI install CodeFormat from luarocks
* chore(#3271): remove bad printf after format-check failure
* chore(#3271): install CodeFormat from binary as luarocks is too slow
* chore(#3271): no broken windows - all formatting fixed
* fix: increase filesystem_watchers.max_events from 100 to 1000
* fix: increase filesystem_watchers.max_events from 100 to 1000
* fix: increase filesystem_watchers.max_events from 100 to 1000
* doc(#2934): POC to use gen_vimdoc.lua for decorator meta
* doc(#2934): use injected gen_vimdoc.lua from nvim source, move decorators to main help
* doc(#2934): tidy and harden scripts
* doc(#2934): add nvim_tree.Config meta classes, add nvim_tree.api. meta classes
* doc(#2934): add nvim_tree.Config to help
* doc(#2934): add nvim_tree.api classes to help
* doc(#2934): tidy and correct nvim_tree.Config.UI and nvim_tree.Config.Actions
* doc(#2934): tidy and correct nvim_tree.Config.HijackDirectories, format and order nvim_tree.Config
* doc(#2934): tidy and nvim_tree.Config top level
* doc(#2934): tidy and format nvim_tree.Config.LiveFilter, Modified, Tab, Trash
* doc(#2934): tidy and format nvim_tree.Config.FilesystemWatchers, Log
* doc(#2934): split nvim_tree.Config into files, Sort and HijackDirectories populate others placeholder
* doc(#2934): more generic gen_vimdoc_config module config
* doc(#2934): tidy Config.HijackDirectories and Actions, move them into place
* doc(#2934): tidy Config.Modified, move into place
* doc(#2934): tidy Config.LiveFilter, move into place
* doc(#2934): tidy Config.FilesystemWatchers, move into place
* doc(#2934): tidy Config.Trash, move into place
* doc(#2934): tidy Config.Tab, move into place
* doc(#2934): tidy Config.UI, move into place
* doc(#2934): tidy Config.Log, move into place
* doc(#2934): tidy Config.Notify, move into place
* doc(#2934): tidy Config.SystemOpen, move into place
* doc(#2934): tidy Config.Help, move into place
* doc(#2934): tidy Config.Help, move into place
* doc(#2934): tidy Config.Help, move into place
* doc(#2934): tidy Config.Diagnostics, move into place
* doc(#2934): remove api/decorator as they are out of scope, revert api_decorator.lua changes, retain api opts classes but make them exact
* doc(#2934): tidy Config.Filters, move into place
* doc(#2934): tidy Config.FilesystemWatchers, move into place
* doc(#2934): tidy Config.FilesystemWatchers, Git, move into place
* doc(#2934): tidy Config.UpdateFocusedFile, move into place
* doc(#2934): tidy Config.Sort, move into place
* doc(#2934): tidy Config.View, move into place
* doc(#2934): tidy Config.View, move into place
* docs(#2934): type DEFAULT_OPTS, use bracketed references to keep luals happy
* docs(#2934): tidy, inline some classes
* docs(#2934): tidy Config.Renderer
* docs(#2934): remove problematic glyphs, tidy other glyphs
* docs(#2934): tidy Config.Renderer, ensure functions are parenthesised when necessary
* docs(#2934): tidy Config.Renderer
* docs(#2934): tidy Config.Renderer, move into place
* docs(#2934): tidy Config.Renderer
* docs(#2934): tidy Config.FilesystemWatchers
* docs(#2934): fix broken links
* docs(#2934): fix broken links
* docs(#2934): fix broken links
* docs(#2934): fix broken links
* docs(#2934): refer to nvim in help, not neovim, as this trips the lintdoc spell checker
* docs(#2934): fix broken links
* docs(#2934): add lintdoc.sh, fix some branding spelling
* docs(#2934): update old config links
* docs(#2934): remove 5. Opts, 8.2 Highlight: Overhaul, 15.1 Index: Opts, update links as needed
* docs(#2934): remove indices
* docs(#2934): add bookmarks, put long descriptions into @brief
* docs(#2934): move hidden display to verbatim new section
* docs(#2934): add config lsp examples, link setup
* docs(#2934): normalise heading formatting, remove TOC
* docs(#2934): move all icon and highlight info into a table
* docs(#2934): move all icon and highlight info into a new section
* docs(#2934): normalise all icon and highlight
* docs(#2934): extract nvim_tree.Config field descriptions to class overview
* docs(#2934): consistent string formatting
* docs(#2934): normalise all icon and highlight
* docs(#2934): remove @briefs as they are shown above the class tag
* docs(#2934): don't <pre> filters
* docs(#2934): add experimental example
* docs(#2934): add gen_vimdoc.sh to CI
* docs(#2934): add gen_vimdoc.sh to CI
* docs(#2934): add gen_vimdoc.sh to CI
* docs(#2934): temporarily --ignore-blank-lines during help check
* docs(#2934): add lintdoc.sh to CI
* docs(#2934): add lintdoc.sh to CI
* docs(#2934): add lintdoc.sh to CI
* docs(#2934): move Nvim build and help-check to the end for faster turnaround
* docs(#2934): use make lintdoc target directly
* docs(#2934): CONTRIBUTING.md updates for help generation and lint
* docs(#2934): revert API opts classes changes
* docs(#2934): harden gen and lint scripts, moving things out of nvim-tree source to prevent luals upset
* docs(#2934): harden gen and lint scripts, moving things out of nvim-tree source to prevent luals upset
* docs(#2934): fix lintdoc make target
* docs(#3088): extract api/tree.lua
* docs(#3088): extract api/tree.lua
* docs(#2934): move help diff check after lint
* docs(#3088): update api.tree references, remove old doc
* docs(#3088): extract api/config/mappings.lua
* docs(#3088): api.config.mappings -> api.map
* docs(#3088): extract api/filter.lua
* docs(#3088): move api.git into api.tree
* docs(#3088): extract api/health.lua, tidy formatting
* docs(#3088): extract api/health.lua, tidy formatting
* docs(#3088): remove command descriptions, show lua, link to api
* docs(#3088): extract api/marks.lua
* docs(#3088): remove completed legacy api.lua members
* docs(#3088): extract api/events.lua
* docs(#3088): extract api/events.lua
* docs(#3088): extract api/fs.lua
* docs(#3088): extract api/commands.lua
* docs(#3088): extract api/node.lua functions, doc TODO
* docs(#3088): move all nvim-tree-api to generated doc
* docs(#3088): old api is now impl, use new api
* docs(#3088): extract api/node.lua functions, doc WIP
* docs(#3088): extract api/node.lua functions, doc WIP
* docs(#3088): extract api/node.lua functions, doc WIP
* docs(#3088): extract api/node.lua functions
* docs(#3088): move api into _meta
* docs(#3088): move api-impl out of meta, restore it to its original state with a hyrdrate function
* docs(#3088): remove old Api classes, rename impl Api -> api
* docs(#3088): tidy migrated annotations
* docs(#3088): format nvim_tree.api.commands
* docs(#3088): separate api classes at the end
* docs(#3088): polish vimdoc config
* docs(#3088): format
* docs(#2934): polish vimdoc config
* docs(#2934): snake case config class names
* docs(#2934): snake case config alias names
* docs(#2934): note help tag prefixes
* docs(#2934): snake case config sections
* docs(#2934): move default config to end
* docs(#2934): move setup doc from config to quickstart and setup
* docs(#2934): index contributing
* docs(#3088): cleanup following merge
* docs(#3088): tidy section names
* docs(#3088): split node.navigate and open, move all filters into api.filter
* docs(#3088): hidden->custom toggle default desc
* docs(#3088): add legacy filter api mappings
* docs(#3088): tidy api meta
* docs(#3088): always exclude meta from luacheck, it doesn't offer anything useful
* docs(#3088): extract fs.copy, fix api node param optionality, move legacy api to legacy.lua
* docs(#3088): correct optionality of nvim_tree.config.view.width fields
* docs(#3088): hydrate API before setup with error functions, with some hydrated with their concrete function, wrap removal TODO
* docs(#3088): remove api impl error wrap
* docs(#3088): split api pre and post, add more comments
* docs(#3088): split api pre and post, add more comments
* docs(#3088): extract post impl functions, lazy some requires
* docs(#3088): lazy api impl requires
* Revert "docs(#3088): lazy api impl requires"
This reverts commit c6ea6c5be1.
* docs(#3088): minimise api pre following tests
* docs(#3088): move node classes under api with logical order
* docs(#3088): document node and git classes, namespace internal and external git classes, redact node subclasses
* docs(#3088): fix merge issue
* docs(#3088): tidy pre comments
* docs(#3088): collapse node and fs submodules
* docs(#3088): move api help and classes back into api.lua
* docs(#3088): resize command calls api, not view
* docs(#3088): tidy api map names
* docs(#3088): revert api.git refactor, provide deprecated api meta
* docs(#3088): add deprecated api @see
* docs(#3088): class fixes following merge, disable luacheck on scripts
* docs(#3088): Node:should_expand nops
* docs(#3088): fix _git return
* docs(#3088): add meta for legacy api
* docs(#3088): mark deprecated api modules, use proper namespacing for deprecateds
* docs(#3088): gen_vimdoc now uses full paths, requires a patch for a FIXME
* docs(#3088): add vim_gendoc patches
* Revert "docs(#3088): add vim_gendoc patches"
This reverts commit ebb99093d2.
* Revert "docs(#3088): gen_vimdoc now uses full paths, requires a patch for a FIXME"
This reverts commit ff0184a260.
* docs(#3088): split gen_vimdoc_config into chunks to avoid filename clashes, as gen_vimdoc keys sections by filename
* docs(#3088): move legacy api into api.impl.legacy, fixes following testing
* docs(#3088): remove merge leftover
* docs(#3088): tidy contrib
* docs(#3088): clarify backwards compatibility
* docs(#3088): clarify help generation in contributing
* docs(#3088): contributing index
* docs(#3088): help-update.sh -> help-defaults.sh now using a /tmp file to prevent runaway FS updates
* docs(#3088): help-update.sh -> help-defaults.sh now using a /tmp file to prevent runaway FS updates
* docs(#3088): CI runs make lintdoc to avoid muddying help-check with unnecessary build and possible Nvim lint failures
* docs(#3088): unify help and readme, clarify some wording
* docs(#3088): test a readme toc
* docs(#3088): test a readme toc
* docs(#3088): unify help generation and lint into vimdoc.sh, generation uses nvim source build to execute (#3260)
* docs(#3241): unify help generation and lint into vimdoc.sh, generation uses nvim source build to execute
* docs(#3241): unify help generation and lint into vimdoc.sh, generation uses nvim source build to execute
* docs(#3241): unify help generation and lint into vimdoc.sh, generation uses nvim source build to execute
* docs(#3241): unify help generation and lint into vimdoc.sh, generation uses nvim source build to execute
* docs(#3241): namespace decorator types
* docs(#3241): namespace decorator types
* docs(#3241): namespace decorator types
* docs(#3241): api exposes nvim_tree.api.decorator.Decorator interface, UserDecorator deprecated
* docs(#3241): move decorator meta into place
* docs(#3241): generate decorator help
* docs(#3241): separate api and class generation configs, namespace classes without their filename, nicer generation placeholder
* docs(#3241): fix potential bug in builder: passing a nil node to a user decorator
* docs(#3241): nvim-tree-api-decorator brief
* docs(#3241): Decorator class documentation
* docs(#3241): add placholder to vimdoc.sh
* docs(#3241): extract nvim_tree.config.renderer.decorator, add decorators to hl help section
* docs(#3241): use general nvim_tree.api.highlighted_string
* docs(#3241): add nvim-tree-class-decorator-example
* docs(#3241): move renderer alias doc to the class
* docs(#3241): Class -> nvim_tree.Class
* docs(#3241): Class -> nvim_tree.Class
* docs(#3241): document nvim_tree.Class
* docs(#3241): fix help lua indentation
* docs(#3241): extract builtin decorator interface, partially complete
* docs(#3241): extracted BuiltinDecorator
* docs(#3241): add BuiltinDecorator constructor
* docs(#3241): revert api function changes
* docs(#3241): revert api function changes
* docs(#3241): vimdoc polish
* docs(#3241): tidy
* docs(#3241): tidy
* doc(#2934): POC to use gen_vimdoc.lua for decorator meta
* doc(#2934): use injected gen_vimdoc.lua from nvim source, move decorators to main help
* doc(#2934): tidy and harden scripts
* doc(#2934): add nvim_tree.Config meta classes, add nvim_tree.api. meta classes
* doc(#2934): add nvim_tree.Config to help
* doc(#2934): add nvim_tree.api classes to help
* doc(#2934): tidy and correct nvim_tree.Config.UI and nvim_tree.Config.Actions
* doc(#2934): tidy and correct nvim_tree.Config.HijackDirectories, format and order nvim_tree.Config
* doc(#2934): tidy and nvim_tree.Config top level
* doc(#2934): tidy and format nvim_tree.Config.LiveFilter, Modified, Tab, Trash
* doc(#2934): tidy and format nvim_tree.Config.FilesystemWatchers, Log
* doc(#2934): split nvim_tree.Config into files, Sort and HijackDirectories populate others placeholder
* doc(#2934): more generic gen_vimdoc_config module config
* doc(#2934): tidy Config.HijackDirectories and Actions, move them into place
* doc(#2934): tidy Config.Modified, move into place
* doc(#2934): tidy Config.LiveFilter, move into place
* doc(#2934): tidy Config.FilesystemWatchers, move into place
* doc(#2934): tidy Config.Trash, move into place
* doc(#2934): tidy Config.Tab, move into place
* doc(#2934): tidy Config.UI, move into place
* doc(#2934): tidy Config.Log, move into place
* doc(#2934): tidy Config.Notify, move into place
* doc(#2934): tidy Config.SystemOpen, move into place
* doc(#2934): tidy Config.Help, move into place
* doc(#2934): tidy Config.Help, move into place
* doc(#2934): tidy Config.Help, move into place
* doc(#2934): tidy Config.Diagnostics, move into place
* doc(#2934): remove api/decorator as they are out of scope, revert api_decorator.lua changes, retain api opts classes but make them exact
* doc(#2934): tidy Config.Filters, move into place
* doc(#2934): tidy Config.FilesystemWatchers, move into place
* doc(#2934): tidy Config.FilesystemWatchers, Git, move into place
* doc(#2934): tidy Config.UpdateFocusedFile, move into place
* doc(#2934): tidy Config.Sort, move into place
* doc(#2934): tidy Config.View, move into place
* doc(#2934): tidy Config.View, move into place
* docs(#2934): type DEFAULT_OPTS, use bracketed references to keep luals happy
* docs(#2934): tidy, inline some classes
* docs(#2934): tidy Config.Renderer
* docs(#2934): remove problematic glyphs, tidy other glyphs
* docs(#2934): tidy Config.Renderer, ensure functions are parenthesised when necessary
* docs(#2934): tidy Config.Renderer
* docs(#2934): tidy Config.Renderer, move into place
* docs(#2934): tidy Config.Renderer
* docs(#2934): tidy Config.FilesystemWatchers
* docs(#2934): fix broken links
* docs(#2934): fix broken links
* docs(#2934): fix broken links
* docs(#2934): fix broken links
* docs(#2934): refer to nvim in help, not neovim, as this trips the lintdoc spell checker
* docs(#2934): fix broken links
* docs(#2934): add lintdoc.sh, fix some branding spelling
* docs(#2934): update old config links
* docs(#2934): remove 5. Opts, 8.2 Highlight: Overhaul, 15.1 Index: Opts, update links as needed
* docs(#2934): remove indices
* docs(#2934): add bookmarks, put long descriptions into @brief
* docs(#2934): move hidden display to verbatim new section
* docs(#2934): add config lsp examples, link setup
* docs(#2934): normalise heading formatting, remove TOC
* docs(#2934): move all icon and highlight info into a table
* docs(#2934): move all icon and highlight info into a new section
* docs(#2934): normalise all icon and highlight
* docs(#2934): extract nvim_tree.Config field descriptions to class overview
* docs(#2934): consistent string formatting
* docs(#2934): normalise all icon and highlight
* docs(#2934): remove @briefs as they are shown above the class tag
* docs(#2934): don't <pre> filters
* docs(#2934): add experimental example
* docs(#2934): add gen_vimdoc.sh to CI
* docs(#2934): add gen_vimdoc.sh to CI
* docs(#2934): add gen_vimdoc.sh to CI
* docs(#2934): temporarily --ignore-blank-lines during help check
* docs(#2934): add lintdoc.sh to CI
* docs(#2934): add lintdoc.sh to CI
* docs(#2934): add lintdoc.sh to CI
* docs(#2934): move Nvim build and help-check to the end for faster turnaround
* docs(#2934): use make lintdoc target directly
* docs(#2934): CONTRIBUTING.md updates for help generation and lint
* docs(#2934): revert API opts classes changes
* docs(#2934): harden gen and lint scripts, moving things out of nvim-tree source to prevent luals upset
* docs(#2934): harden gen and lint scripts, moving things out of nvim-tree source to prevent luals upset
* docs(#2934): fix lintdoc make target
* docs(#3088): extract api/tree.lua
* docs(#3088): extract api/tree.lua
* docs(#2934): move help diff check after lint
* docs(#3088): update api.tree references, remove old doc
* docs(#3088): extract api/config/mappings.lua
* docs(#3088): api.config.mappings -> api.map
* docs(#3088): extract api/filter.lua
* docs(#3088): move api.git into api.tree
* docs(#3088): extract api/health.lua, tidy formatting
* docs(#3088): extract api/health.lua, tidy formatting
* docs(#3088): remove command descriptions, show lua, link to api
* docs(#3088): extract api/marks.lua
* docs(#3088): remove completed legacy api.lua members
* docs(#3088): extract api/events.lua
* docs(#3088): extract api/events.lua
* docs(#3088): extract api/fs.lua
* docs(#3088): extract api/commands.lua
* docs(#3088): extract api/node.lua functions, doc TODO
* docs(#3088): move all nvim-tree-api to generated doc
* docs(#3088): old api is now impl, use new api
* docs(#3088): extract api/node.lua functions, doc WIP
* docs(#3088): extract api/node.lua functions, doc WIP
* docs(#3088): extract api/node.lua functions, doc WIP
* docs(#3088): extract api/node.lua functions
* docs(#3088): move api into _meta
* docs(#3088): move api-impl out of meta, restore it to its original state with a hyrdrate function
* docs(#3088): remove old Api classes, rename impl Api -> api
* docs(#3088): tidy migrated annotations
* docs(#3088): format nvim_tree.api.commands
* docs(#3088): separate api classes at the end
* docs(#3088): polish vimdoc config
* docs(#3088): format
* docs(#2934): polish vimdoc config
* docs(#2934): snake case config class names
* docs(#2934): snake case config alias names
* docs(#2934): note help tag prefixes
* docs(#2934): snake case config sections
* docs(#2934): move default config to end
* docs(#2934): move setup doc from config to quickstart and setup
* docs(#2934): index contributing
* docs(#3088): cleanup following merge
* docs(#3088): tidy section names
* docs(#3088): split node.navigate and open, move all filters into api.filter
* docs(#3088): hidden->custom toggle default desc
* docs(#3088): add legacy filter api mappings
* docs(#3088): tidy api meta
* docs(#3088): always exclude meta from luacheck, it doesn't offer anything useful
* docs(#3088): extract fs.copy, fix api node param optionality, move legacy api to legacy.lua
* docs(#3088): correct optionality of nvim_tree.config.view.width fields
* docs(#3088): hydrate API before setup with error functions, with some hydrated with their concrete function, wrap removal TODO
* docs(#3088): remove api impl error wrap
* docs(#3088): split api pre and post, add more comments
* docs(#3088): split api pre and post, add more comments
* docs(#3088): extract post impl functions, lazy some requires
* docs(#3088): lazy api impl requires
* Revert "docs(#3088): lazy api impl requires"
This reverts commit c6ea6c5be1.
* docs(#3088): minimise api pre following tests
* docs(#3088): move node classes under api with logical order
* docs(#3088): document node and git classes, namespace internal and external git classes, redact node subclasses
* docs(#3088): fix merge issue
* docs(#3088): tidy pre comments
* docs(#3088): collapse node and fs submodules
* docs(#3088): move api help and classes back into api.lua
* docs(#3088): resize command calls api, not view
* docs(#3088): tidy api map names
* docs(#3088): revert api.git refactor, provide deprecated api meta
* docs(#3088): add deprecated api @see
* docs(#3088): class fixes following merge, disable luacheck on scripts
* docs(#3088): Node:should_expand nops
* docs(#3088): fix _git return
* docs(#3088): add meta for legacy api
* docs(#3088): mark deprecated api modules, use proper namespacing for deprecateds
* docs(#3088): gen_vimdoc now uses full paths, requires a patch for a FIXME
* docs(#3088): add vim_gendoc patches
* Revert "docs(#3088): add vim_gendoc patches"
This reverts commit ebb99093d2.
* Revert "docs(#3088): gen_vimdoc now uses full paths, requires a patch for a FIXME"
This reverts commit ff0184a260.
* docs(#3088): split gen_vimdoc_config into chunks to avoid filename clashes, as gen_vimdoc keys sections by filename
* docs(#3088): move legacy api into api.impl.legacy, fixes following testing
* docs(#3088): remove merge leftover
* docs(#3088): tidy contrib
* docs(#3088): clarify backwards compatibility
* docs(#3088): clarify help generation in contributing
* docs(#3088): contributing index
* docs(#3088): help-update.sh -> help-defaults.sh now using a /tmp file to prevent runaway FS updates
* docs(#3088): help-update.sh -> help-defaults.sh now using a /tmp file to prevent runaway FS updates
* docs(#3088): CI runs make lintdoc to avoid muddying help-check with unnecessary build and possible Nvim lint failures
* docs(#3088): unify help and readme, clarify some wording
* docs(#3088): test a readme toc
* docs(#3088): test a readme toc
* docs(#3088): unify help generation and lint into vimdoc.sh, generation uses nvim source build to execute (#3260)
* docs(#3241): unify help generation and lint into vimdoc.sh, generation uses nvim source build to execute
* docs(#3241): unify help generation and lint into vimdoc.sh, generation uses nvim source build to execute
* docs(#3241): unify help generation and lint into vimdoc.sh, generation uses nvim source build to execute
* docs(#3241): unify help generation and lint into vimdoc.sh, generation uses nvim source build to execute
* fix(#3198): add filesystem_watchers.max_outstanding_events which disables filesystem watchers on a directory when runaway events are received
* fix(#3198): document filesystem_watchers.max_events
* fix(#3198): document filesystem_watchers.max_events
* wip(explorer): rename :expand to :expand_dir_node and all places using it
* wip: move expand function to directory
* refactor: move expand functionality to node methods
Move expansion logic from actions/tree/modifiers/expand.lua into
DirectoryNode and Explorer methods. Update API to use new methods
via wrap_explorer. Remove expand module and its setup calls.
* refactor(directory): correctly calling class methods and passing correct values
* fix: moving directory and file nodes require to avoid circular depency
* fix(node): correctly calling expand on parent without circular dependency
* fix(node.directory): fix <E> not expanding all folders
* refactor(node.director): move gen_iterator to expand and safely call descend_until_empty
* feat: move collapse to tree actions and remove modifiers folder
* feat: move should_expand to Node for better OO
* chore: add should_expand in DirectoryNode to avoid circular dependecy
* fix(explorer): correctly calling expand as a class method
* fix: adding underscore on unsed variables
* chore: move descend_until_empty to local function
* fix(directory): correctly pass node instead of self ot should_descend
* chore: moving root action dir-up to explorer class
* chore(explorer): moving requires to top level
* wip(explorer): moved all change-dir functions to explorer class
* wip(explorer): rename M.current_tab to self.current_tab
* chore(explorer): move change_dir root action to explorer and replace all places using change_dir to use it from explorer
* refactor(explorer): changing _foldername to folder_name
* wip(explorer): rename expand method to expand_dir_node and all places using it
* wip(explorer): mark private methods and remove add_profiling_to method
* fix: allow changing root to file`s parent directory and fix restrict_above_cwd config path
* refactor(api): moving change_root_to_node to Explorer:change_dir_to_node
* fix(explorer): get new explorer before redrawing on <C-]>
* docs(explorer): adding link to PR discussion for more context
* fix(explorer): correctly check config.actions.change_dir for change_dir related methods
* fix: correctly pass explorer as first arg when calling explorer methods in lua/nvim-tree
* fix: correctly pass args to change_dir
* fix: check for explorer before force_dirchange in open_on_directory
* fix: check if force_dirchange should call core.init
* doc(#2934): POC to use gen_vimdoc.lua for decorator meta
* doc(#2934): use injected gen_vimdoc.lua from nvim source, move decorators to main help
* doc(#2934): tidy and harden scripts
* doc(#2934): add nvim_tree.Config meta classes, add nvim_tree.api. meta classes
* doc(#2934): add nvim_tree.Config to help
* doc(#2934): add nvim_tree.api classes to help
* doc(#2934): tidy and correct nvim_tree.Config.UI and nvim_tree.Config.Actions
* doc(#2934): tidy and correct nvim_tree.Config.HijackDirectories, format and order nvim_tree.Config
* doc(#2934): tidy and nvim_tree.Config top level
* doc(#2934): tidy and format nvim_tree.Config.LiveFilter, Modified, Tab, Trash
* doc(#2934): tidy and format nvim_tree.Config.FilesystemWatchers, Log
* doc(#2934): split nvim_tree.Config into files, Sort and HijackDirectories populate others placeholder
* doc(#2934): more generic gen_vimdoc_config module config
* doc(#2934): tidy Config.HijackDirectories and Actions, move them into place
* doc(#2934): tidy Config.Modified, move into place
* doc(#2934): tidy Config.LiveFilter, move into place
* doc(#2934): tidy Config.FilesystemWatchers, move into place
* doc(#2934): tidy Config.Trash, move into place
* doc(#2934): tidy Config.Tab, move into place
* doc(#2934): tidy Config.UI, move into place
* doc(#2934): tidy Config.Log, move into place
* doc(#2934): tidy Config.Notify, move into place
* doc(#2934): tidy Config.SystemOpen, move into place
* doc(#2934): tidy Config.Help, move into place
* doc(#2934): tidy Config.Help, move into place
* doc(#2934): tidy Config.Help, move into place
* doc(#2934): tidy Config.Diagnostics, move into place
* doc(#2934): remove api/decorator as they are out of scope, revert api_decorator.lua changes, retain api opts classes but make them exact
* doc(#2934): tidy Config.Filters, move into place
* doc(#2934): tidy Config.FilesystemWatchers, move into place
* doc(#2934): tidy Config.FilesystemWatchers, Git, move into place
* doc(#2934): tidy Config.UpdateFocusedFile, move into place
* doc(#2934): tidy Config.Sort, move into place
* doc(#2934): tidy Config.View, move into place
* doc(#2934): tidy Config.View, move into place
* docs(#2934): type DEFAULT_OPTS, use bracketed references to keep luals happy
* docs(#2934): tidy, inline some classes
* docs(#2934): tidy Config.Renderer
* docs(#2934): remove problematic glyphs, tidy other glyphs
* docs(#2934): tidy Config.Renderer, ensure functions are parenthesised when necessary
* docs(#2934): tidy Config.Renderer
* docs(#2934): tidy Config.Renderer, move into place
* docs(#2934): tidy Config.Renderer
* docs(#2934): tidy Config.FilesystemWatchers
* docs(#2934): fix broken links
* docs(#2934): fix broken links
* docs(#2934): fix broken links
* docs(#2934): fix broken links
* docs(#2934): refer to nvim in help, not neovim, as this trips the lintdoc spell checker
* docs(#2934): fix broken links
* docs(#2934): add lintdoc.sh, fix some branding spelling
* docs(#2934): update old config links
* docs(#2934): remove 5. Opts, 8.2 Highlight: Overhaul, 15.1 Index: Opts, update links as needed
* docs(#2934): remove indices
* docs(#2934): add bookmarks, put long descriptions into @brief
* docs(#2934): move hidden display to verbatim new section
* docs(#2934): add config lsp examples, link setup
* docs(#2934): normalise heading formatting, remove TOC
* docs(#2934): move all icon and highlight info into a table
* docs(#2934): move all icon and highlight info into a new section
* docs(#2934): normalise all icon and highlight
* docs(#2934): extract nvim_tree.Config field descriptions to class overview
* docs(#2934): consistent string formatting
* docs(#2934): normalise all icon and highlight
* docs(#2934): remove @briefs as they are shown above the class tag
* docs(#2934): don't <pre> filters
* docs(#2934): add experimental example
* docs(#2934): add gen_vimdoc.sh to CI
* docs(#2934): add gen_vimdoc.sh to CI
* docs(#2934): add gen_vimdoc.sh to CI
* docs(#2934): temporarily --ignore-blank-lines during help check
* docs(#2934): add lintdoc.sh to CI
* docs(#2934): add lintdoc.sh to CI
* docs(#2934): add lintdoc.sh to CI
* docs(#2934): move Nvim build and help-check to the end for faster turnaround
* docs(#2934): use make lintdoc target directly
* docs(#2934): CONTRIBUTING.md updates for help generation and lint
* docs(#2934): revert API opts classes changes
* docs(#2934): harden gen and lint scripts, moving things out of nvim-tree source to prevent luals upset
* docs(#2934): harden gen and lint scripts, moving things out of nvim-tree source to prevent luals upset
* docs(#2934): fix lintdoc make target
* docs(#2934): polish vimdoc config
* docs(#2934): snake case config class names
* docs(#2934): snake case config alias names
* docs(#2934): note help tag prefixes
* docs(#2934): snake case config sections
* docs(#2934): move default config to end
* docs(#2934): move setup doc from config to quickstart and setup
* docs(#2934): index contributing
* docs(#2934): tidy gitignore
* docs(#2934): tidy formatting
* docs(#2934): lint and check scripts, rewrite luals check script following upstream changes
* docs(#2934): script tidying
* docs(#2934): add a temporary codestyle violation to test scripts
* Revert "docs(#2934): add a temporary codestyle violation to test scripts"
This reverts commit fca4dbf70a.
* docs(#2934): remove class from config section headers
* Support Persist Bookmarks
* Fix node new open error
* Fix filter marks index issue
* Made saving/loading conditional on enable_persistence,
* add method comments
* Use a pcall to prevent an error being raised
* Print errmsg and disable persistence on a bad path
Co-authored-by: Alexander Courtis <alex@courtis.org>
* fix: use public list() method instead of accessing private marks field
* refactor: rename marks config to bookmarks and simplify persistence API
- Rename opts.marks to opts.bookmarks for better clarity
- Simplify persist option to boolean | string (true uses default path)
- Implement lazy node resolution for loaded bookmarks
- Update documentation with new bookmarks configuration
- Improve bulk operations to use public list() method consistently
* refactor: rename marks config to bookmarks and simplify persistence API
- Rename opts.marks to opts.bookmarks for better clarity
- Simplify persist option to boolean | string (true uses default path)
- Implement lazy node resolution for loaded bookmarks
- Update documentation with new bookmarks configuration
- Improve bulk operations to use public list() method consistently
* add errmsg in return
Co-authored-by: Alexander Courtis <alex@courtis.org>
* fix: correct indentation in filters.lua to match codestyle
* fix: add missing else block to handle bookmark save errors and use errmsg variable
* refactor: use string.format for bookmark warnings and update documentation
- Replace string concatenation with string.format in bookmark error messages
- Remove outdated comment about bookmark persistence from documentation
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
fix: wrong behavior for api.tree.change_root_to_node
As described in the documentation, `api.tree.change_root_to_node` should
set the tree root to the parent directory when the target node is a file.
Currently, calling this function on a file node does nothing.
This commit adds logic to handle cases where the input node is a `FileNode`
in the `change_root_to_node` function.
Co-authored-by: Alexander Courtis <alex@courtis.org>
* chore: moving root action dir-up to explorer class
* chore(explorer): moving requires to top level
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
* fix: prevent NvimTree to be alternate buffer when tab open
* fix: prevent tabnew leave a dangling "[No Name]" buffer
* Update lua/nvim-tree/actions/node/open-file.lua
Co-authored-by: Alexander Courtis <alex@courtis.org>
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
* refactor(#2942): multi instance: move find_node_line to Explorer
* refactor(#2942): multi instance: move get_node_from_path to Explorer
* refactor(#2942): multi instance: move focus_file to Explorer
* refactor(#2942): multi instance: move focus_node_or_parent to Explorer
* refactor(#2942): multi instance: move get_node_from_path to Explorer
* refactor(#2942): multi instance: move find_node to Explorer
* refactor(#2942): multi instance: move get_nodes_by_line to Explorer
* refactor(#2942): multi instance: remove unnecessary focus_file
* refactor(#2942): style
* feat(#1826): allow using config from vim.diagnostic for icons + severity
* update help default options, add index
---------
Co-authored-by: Alexander Courtis <alex@courtis.org>
* feat: Allow to expand nodes until certain condition is met
* Fix warnings
* Restore original position of edit function
* Rename field to match the api method name
* Rename ApiTreeExpandAllOpts to ApiTreeExpandOpts
* Remove toggle_descend_until
* Remove redundant empty line
* Update :help for changed methods
* Fix partial expansion of grouped nodes
* Fix lint error
* Fix linting error
* Fix incorrect open/close indicator state
* Update docs
* Rename descend_until option to expand_until
* Always check directory expansion limit
* Fix linter errors
* Ignore unused param warning
* Apply suggestions from code review
* simplify MAX_FOLDER_DISCOVERY warning
* fix bad comment whitespace
---------
Co-authored-by: ghostbuster91 <ghostbuster91@users.noreply.github.com>
Co-authored-by: Alexander Courtis <alex@courtis.org>
Highlight new, tracked files in working copy
Currently nvim-tree doesn't highlight new, tracked files in the working
copy/directory.
This change assigns the `NvimTreeGitFileNewHL` highlight to the `" A"`
git porcelain status marker.
Co-authored-by: Alexander Courtis <alex@courtis.org>
* Revert "feat(#2826): allow only one window with nvim-tree buffer per tab (#3174)"
This reverts commit dd2364d680.
* Revert "refactor(#2826): View tracks winids and bufnrs via events, unused for now (#3170)"
This reverts commit 65bae44922.
* Revert "refactor(#2826): remove view debug/cc, enable new codepaths for get_winid and get_bufnr (#3169)"
This reverts commit a9156c0139.
* fix(#3171): use vim.system() to determine git toplevel
* Don't use vim.trim
* Ensure sdtout is a string
* Keep Nvim 0.9 compatibility
* Use vim.system to query git config for status.showUntrackedFiles too