2af129f081
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.