Commit Graph

3 Commits

Author SHA1 Message Date
rootiest 2af129f081 fix(config_help): index-based section lookup with normalized fallback
Replace fragile pattern/jump-target approach with a two-stage lookup:
1. fish-config.index maps keyword aliases to exact heading text so
   "keybindings" resolves to "# 3. KEY BINDINGS" without guessing.
2. Normalized scan fallback strips non-alphanumeric chars from both
   keyword and headings for unknown terms.
Line numbers are resolved at runtime via grep -F so the index never
goes stale from doc edits — only heading renames require updates.

Also fix --section-delimiter: ov matches against logical (ANSI-stripped)
text, so "^#" is correct for bat-colored output; the previous ANSI
regex never matched, leaving the sections sidebar empty.
2026-06-06 03:50:40 -04:00
rootiest 490834e6f9 fix(config_help): use --pattern for section jump; correct ov nav keys
--jump-target does not work reliably on piped stdin. Replace with
--pattern which positions ov at the first occurrence of the keyword
(works like less +/pattern) and keeps the match highlighted so the
user can press n/N to navigate further occurrences.

Also correct the section navigation keys in the offline manual:
  Space = next section  (not '.')
  ^     = previous section  (not ',')
  Alt+u = section list sidebar
2026-06-06 03:29:14 -04:00
rootiest 02c27c6907 feat(docs): add offline documentation, config_help viewer, and CI pipelines
- docs/fish-config.md: curated terminal-optimized manual covering all
  public functions, keybindings, abbreviations, configuration variables,
  dependency catalog, and customization guide. Written for ov/bat/less
  readability rather than browser rendering — no callouts, no hyperlinks.
  Pandoc-compatible YAML front matter for man page compilation.

- functions/config_help.fish: viewer function with fallback chain
  ov -> bat -> man -l -> less -> cat. Accepts an optional section
  keyword to jump directly to the first matching heading.

- .gitea/workflows/man-page.yml: compiles docs/fish-config.md to
  docs/fish-config.1 via pandoc on every push to main that touches the
  source doc, then commits the result automatically.

- .gitea/workflows/docs-drift.yml: opens a reminder issue whenever
  README.md changes without a corresponding docs/fish-config.md update
  in the same push.

- README.md: documents config_help and the offline manual.
- AGENTS.md: adds Convention 10 requiring offline doc to be updated
  alongside any function, keybinding, or config change.
2026-06-06 03:14:36 -04:00