10 Commits

Author SHA1 Message Date
Alexander Courtis
5a1d08bc0c docs: remove lintdoc from help-check, skip the name checker during help-update (#3322)
* docs: remove lintdoc from help-check, skip the name checker during help-update

* docs: test new help-check

* Revert "docs: test new help-check"

This reverts commit 52128372ca.
2026-04-26 09:16:14 +10:00
Alexander Courtis
509962f21a docs: update to 0.12 help format, remove blank line help suppression (#3314)
doc: update to 0.12 help format, remove blank line help suppression
2026-04-07 11:09:12 +10:00
Alexander Courtis
e11ce83ed9 chore(#3271): add new format-check, rename style-fix to format-fix (#3273)
* 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
2026-02-18 10:49:39 +11:00
Alexander Courtis
c0b18e4879 docs(#3088): add nvim-tree.api* function and class meta, generate help API, lazy load API before setup, rename some API in a non-breaking manner (#3244)
* 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
2026-02-12 11:10:36 +11:00
Alexander Courtis
869fc957ed docs(#2934): add nvim_tree.config* classes with generated help and new nvim-tree-icons-highlighting help section (#3235)
* 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
2026-01-22 12:23:55 +11:00
Alexander Courtis
44d9b58f11 chore: use builtin EmmyLuaCodeStyle for style checking (#3084)
* chore: sync EmmyLuaCodeStyle settings between .editorconfig and .luarc.json

* chore: lua-language-server 3.11.0 -> 3.13.9

* chore: fix incorrect definition of vim.loop.fs_lstat

* chore: add codestyle-check option to luals-check.sh

* chore: use luals for style check

* chore: use luals for style check

* Revert "chore: use luals for style check"

This reverts commit e5fde80fab.

* chore: use luals for style check

* chore: use luals for style check

* chore: use luals for style check

* chore: use luals for style check

* chore: use luals for style check

* chore: use luals for style check

* chore: use luals for style check

* chore: use luals for style check

* chore: use luals for style check

* chore: use luals for style check

* chore: use luals for style check

* chore: use luals for style check
2025-03-23 12:46:17 +11:00
Alexander Courtis
7a4ff1a516 feat(#2948): add custom decorators, :help nvim-tree-decorators (#2996)
* feat(#2948): add UserDecorator, proof of concept

* feat(#2948): add UserDecorator, proof of concept

* feat(#2948): add UserDecorator, proof of concept

* feat(#2948): add UserDecorator

* feat(#2948): add UserDecorator

* feat(#2948): add UserDecorator

* feat(#2948): add Decorator node icon override

* feat(#2948): add nvim_tree.api.* node classes

* feat(#2948): extract _meta following nvim pattern

* feat(#2948): extract _meta following nvim pattern

* feat(#2948): add decorator registry and order

* feat(#2948): add decorator registry and order

* feat(#2948): tidy

* feat(#2948): document API

* feat(#2948): document API

* feat(#2948): document API

* feat(#2948): pass api nodes to user decorators

* feat(#2948): document API

* feat(#2948): use renderer.decorators to define order and register

* feat(#2948): tidy decorator args and complete documentation

* feat(#2948): decorator classes specified by prefix rather than suffix

* feat(#2948): improve doc

* feat(#2948): improve doc

* feat(#2948): improve doc

* feat(#2948): additional user decorator safety

* feat(#2948): create nvim_tree.api.decorator.UserDecorator class in API, add :extend

* feat(#2948): improve doc
2024-12-07 16:03:29 +11:00
Alexander Courtis
1ae1c33ce1 chore(#2931): stylua -> EmmyLuaCodeStyle (#2932)
* stylua -> EmmyLuaCodeStyle: config and doc

* stylua -> EmmyLuaCodeStyle: CI

* stylua -> EmmyLuaCodeStyle: CI

* stylua -> EmmyLuaCodeStyle: CI

* stylua -> EmmyLuaCodeStyle: CI

* stylua -> EmmyLuaCodeStyle: CI

* stylua -> EmmyLuaCodeStyle

* stylua -> EmmyLuaCodeStyle: call_arg_parentheses = always

* stylua -> EmmyLuaCodeStyle

* stylua -> EmmyLuaCodeStyle
2024-09-29 14:05:52 +10:00
Alexander Courtis
8704b6f7fc chore(#2787): minimum nvim version 0.9, replace 0.10 deprecated, enable deprecated warnings (#2788)
* refactor(#2787): replace deprecated

* refactor(#2787): enable deprecated checks

* refactor(#2787): replace deprecated

* refactor(#2787): replace deprecated

* refactor(#2787): replace deprecated

* refactor(#2787): replace deprecated

* refactor(#2787): use inline deprecation disabling

* refactor(#2787): replace deprecated

* refactor(#2787): replace deprecated

* refactor(#2787): replace deprecated

* refactor(#2787): replace deprecated

* refactor(#2787): replace deprecated

* refactor(#2787): replace deprecated

* refactor(#2787): replace deprecated

* refactor(#2787): replace deprecated

* refactor(#2787): replace deprecated

* refactor(#2787): deprecated are now warnings

* refactor(#2787): 0.9 is the minimum supported version

* Revert "refactor(#2787): replace deprecated"

This reverts commit b6b4c32fcb.

* refactor(#2787): suppress deprecated until 0.11

* refactor(#2787): minimum nvim version 0.8 -> 0.9

* refactor(#2787): reset globals

* refactor(#2787): explicitly check for vim.diagnostic.is_enabled function presence
2024-06-09 12:24:35 +10:00
Alexander Courtis
6a99f5af78 ci: lua language server and Makefile (#2546)
* ci: add lls-check

* ci: add lls-check to ci.yml

* ci: download lua-language-server binary

* ci: download lua-language-server binary

* ci: dummy failure to test

* Revert "ci: dummy failure to test"

This reverts commit 2bc43bad430209e32a5049a16c56710c4f6e2f7b.

* ci: ignore lls-out

* ci: better name

* ci: shellcheck nits

* ci: add luals libs and tidy

* ci: tidy

* ci: add neovim 0.9.4

* ci: add ci neovim 0.9.4 to lib path

* ci: dummy failure to test

* Revert "ci: dummy failure to test"

This reverts commit 45987335d81ec65fecc6636b339671a9a9fcdd97.

* Revert "ci: add ci neovim 0.9.4 to lib path"

This reverts commit 4f397d6ea8bbdf6e808f9dc9db5ecbae291d8cd4.

* Revert "ci: add neovim 0.9.4"

This reverts commit 46fd1b368d27a1892b55381691723db3b30a7527.

* ci: action downloads and installs luals

* ci: remove workspaces from luals

* ci: consistent script naming

* ci: add quality to contributing

* ci: consistent script naming

* ci: add lsp to diagnostics

* ci: temporary find to enumerate home

* ci: add VIMRUNTIME for lls

* ci: temporary find to enumerate home

* ci: temporary find to enumerate home

* ci: remove temporary find to enumerate home

* ci: correct VIMRUNTIME

* ci: add ${3rd}/luv/library

* ci: note VIMRUNTIME override

* ci: add Makefile

* ci: add Makefile

* ci: add Makefile

* ci: add Makefile

* ci: document checks and fixes

* ci: add help check

* ci: add help check

* ci: dummy help failure

* Revert "ci: dummy help failure"

This reverts commit c50cceaa4a.

* ci: document checks and fixes

* ci: document checks and fixes

* ci: matrix nvim version

* ci: matrix nvim version

* Revert "ci: matrix nvim version"

This reverts commit fcef6a11e9.

* Revert "ci: matrix nvim version"

This reverts commit a8cb50d39d.

* ci: matrix nvim version from env

* ci: matrix nvim version from env

* ci: matrix nvim version from env

* ci: matrix nvim version

* ci: matrix nvim version

* ci: matrix per job

* ci: matrix per job

* ci: many lua versions

* ci: move doc to style

* ci: tidy ci and contributing
2024-01-06 13:18:52 +11:00