* main: (39 commits)
Add '--version' flag to Help output (#1707)
Expose ValidateRequiredFlags and ValidateFlagGroups (#1760)
Document option to hide the default completion cmd (#1779)
ci: add workflow_dispatch (#1387)
add missing license headers (#1809)
ci: use action/setup-go's cache (#1783)
Adjustments to documentation (#1656)
Rename Powershell completion tests (#1803)
Support for case-insensitive command names (#1802)
Deprecate ExactValidArgs() and test combinations of args validators (#1643)
Use correct stale action `exempt-` yaml keys (#1800)
With go 1.18, we must use go install for a binary (#1726)
Clarify SetContext documentation (#1748)
ci: test on Golang 1.19 (#1782)
fix: show flags that shadow parent persistent flag in child help (#1776)
Update gopkg.in/yaml.v2 to gopkg.in/yaml.v3 (#1766)
fix(bash-v2): activeHelp length check syntax (#1762)
fix: correct command path in see_also for YAML doc (#1771)
build(deps): bump github.com/inconshreveable/mousetrap (#1774)
docs: add zitadel to the list (#1772)
...
This patch modifies the GenMarkdownCustom to skip writing a Synopsis
header with the `cmd.Short` duplicated both before and after the header.
Instead, it only writes the `### Synopsis` header and the paragraph when
a `cmd.Long` has some kind of content in it.
Adds `TestGenMdDocWithNoLongOrSynopsis` as the test case.
Signed-off-by: Marc Lopez <marc5.12@outlook.com>
This code was already using io.Writer, but was completely ignoring write
errors.
The most worrying part is how GenMarkdownTreeCustom used an unnecessary
buffer to then dump all of its contents on a file, and instead of
returning an error on file creation/writing, it would just exit the
entire program.
* Move man_docs and md_docs into new doc pkg
* Replace *bytes.Buffer with io.Writer
* Replace c == cmd.helpCommand with c.IsHelpCommand()
* Remove redundant len(children) == 0 check in HasSeeAlso
* Duplicate test setup for doc generation