feat(docs): generate Section 5 from function comment headers
The man-page-style comment header above each function in functions/*.fish becomes the SSOT for that function's documentation. Writing a new function and documenting it are now the same act. - manualtools.parse_functions() parses every header carrying a # CATEGORY; absence of one is the opt-in, keeping bundled-plugin and prompt internals out of the manual with no exclusion list to maintain. - build-manual.py generates entries for both --concat and --site, with **Dependencies:** rendered as links and a **Used by:** reverse index computed in one pass. Cross-category links are the navigation win. - docs/manual/05-functions/*.md reduced to frontmatter-only stubs. Every intro measured zero words, so the category files were pure entry containers; ordering, titles, and helpKeywords routing are untouched. - _first_sentence() unwraps the leading hard-wrapped paragraph and skips the whole Synopsis block, not just its label line. Site cards no longer truncate mid-clause or show a synopsis as their description. Verification, per the design spec: - test_concat_roundtrips_original scoped to sections 0-4 and 6-11. It guarded a format migration; this is a content migration. - replaced by structural checks: one entry per categorised function, the required sections present, every category resolving to a stub with no stub empty, and every declared dependency resolving to a real function or a type -q-guarded binary. - public functions lacking # CATEGORY warn rather than fail, so a new user-facing function going undocumented stays visible in CI. 24/24 checks pass. 94 entries generated from 94 parsed headers. Also drops a stale claim from open-url's NOTES: config-help --html calls xdg-open directly and has never called open-url.
This commit is contained in:
@@ -4,6 +4,9 @@
|
||||
# CATEGORY
|
||||
# 12-ai-and-developer-tools
|
||||
#
|
||||
# DEPENDENCIES
|
||||
# agents-init
|
||||
#
|
||||
# SYNOPSIS
|
||||
# agy [ARGS...]
|
||||
#
|
||||
|
||||
@@ -4,6 +4,9 @@
|
||||
# CATEGORY
|
||||
# 12-ai-and-developer-tools
|
||||
#
|
||||
# DEPENDENCIES
|
||||
# agents-init
|
||||
#
|
||||
# SYNOPSIS
|
||||
# claude [ARGS...]
|
||||
#
|
||||
|
||||
@@ -4,6 +4,9 @@
|
||||
# CATEGORY
|
||||
# 14-miscellaneous
|
||||
#
|
||||
# DEPENDENCIES
|
||||
# config-settings
|
||||
#
|
||||
# SYNOPSIS
|
||||
# config-toggle [args...]
|
||||
#
|
||||
|
||||
@@ -13,8 +13,7 @@
|
||||
# main/master automatically if the current branch is orphaned.
|
||||
#
|
||||
# ARGUMENTS
|
||||
# -h, --help Show help message
|
||||
# -f, --force Force-delete unmerged branches too
|
||||
# -h, --help Show help message
|
||||
# -f, --force Force-delete unmerged orphaned branches (git branch -D)
|
||||
#
|
||||
# RETURNS
|
||||
|
||||
@@ -39,8 +39,6 @@
|
||||
# open-url -v https://fish-config-docs.pages.dev/
|
||||
#
|
||||
# NOTES
|
||||
# Used internally by config-help --html.
|
||||
#
|
||||
# Typo abbreviation: url-open (expands to open-url on space/enter).
|
||||
function open-url --description 'Open a URL in the best available web browser'
|
||||
argparse h/help s/silent v/verbose -- $argv
|
||||
|
||||
@@ -4,6 +4,9 @@
|
||||
# CATEGORY
|
||||
# 14-miscellaneous
|
||||
#
|
||||
# DEPENDENCIES
|
||||
# open-url
|
||||
#
|
||||
# SYNOPSIS
|
||||
# repo-open [-p|--print] [-r|--root]
|
||||
# repo-open --help
|
||||
|
||||
Reference in New Issue
Block a user