feat(help): render code spans in the pager instead of printing backticks #121
No Reviewers
Labels
Clear labels
Area/CI
Area/Completions
Area/Components
Area/Config
Area/Docs
Area/Functions
Area/Integrations
Area/Prompt & Theme
Area/Scripts
Area/Tests
Compat/Breaking
Kind/Bug
Kind/Chore
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Performance
Kind/Refactor
Kind/Security
Kind/Testing
good first issue
help wanted
.github/workflows and repository automation
completions/ - tab-completion scripts
The opinionated-component system (C1-C6)
config.fish and conf.d/ - startup and environment
docs/manual/ and the generated manual, man page, and site
functions/ - user-facing functions and helpers
integrations/ - third-party tool wiring
themes/ and prompt appearance
scripts/ - standalone helper scripts
tests/ - the syntax lint and functional suite
Breaking change that won't be backward compatible
Something is not working
Tooling, dependencies, and housekeeping
Documentation changes
Improve existing functionality
New functionality
Makes existing behavior faster or lighter
Restructures code without changing behavior
This is security issue
Issue or pull request related to testing
Priority
Critical
1
The priority is critical
Priority
High
2
The priority is high
Priority
Low
4
The priority is low
Priority
Medium
3
The priority is medium
Reviewed
Confirmed
1
Issue has been confirmed
Reviewed
Duplicate
2
This issue or pull request already exists
Reviewed
Invalid
3
Invalid issue
Reviewed
Won't Fix
3
This issue won't be fixed
Status
Abandoned
3
Somebody has started to work on this but abandoned work
Status
Blocked
1
Something is blocking this issue or pull request
Status
Need More Info
2
Feedback is required to reproduce issue or to continue work
Well-scoped and self-contained; a good place to start
Maintainer is looking for someone to pick this up
No labels
Milestone
No items
No Milestone
Projects
Clear projects
No projects
Assignees
rootiest (Rootiest)
Clear assignees
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: rootiest/fish-config#121
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
config-helpshowed 1236 literal backticks across the manual. The fix turned out to belong at the viewer, not in the SSOT.Why not strip the SSOT
Measured it first: stripping every authored span and re-running the generator recovers only 306 of 510 (60%). The 204 losses are structural, not a gap to close —
ov,less,cd,rm)fish-deps install,set -U)!!,always,on/off,__fish_config_op_aliases_<slug>)script(1), numbersTeaching
codespans.pyto wrapovorset -Uin running prose is precisely the over-wrapping it is built to avoid, and stripping would have flattened the man page too.What this does instead
batdims the backticks and gives span content the same colour as the surrounding prose — the delimiters carried no information at all. So each span is rendered bold and the delimiters dropped, in every branch of the viewer chain (ov+bat,ovalone,batalone,less,cat;man -lneeds nothing). Both substitutions are line-preserving, so the tail-slice that opens the pager on a section still lands on it.With the viewer no longer showing them, the SSOT is free to keep its markup, and
build_concat()now runs the samecodespanspass the site does — so a token is typeset the same way wherever it is read (549 → 662 spans in the concat, and the man page gains code formatting it never had).Cleanups this surfaced
config-helpand the man page as literal characters inside a verbatim block.codespansnow protects indented blocks. Without it the table of contents came out withov,bat,lessandcatwrapped inside a code block.Verification
verify-manual.py74/74,tests/run-tests.fish220/220 lint + 10/10codespanschange alonetest_codespans_is_site_onlyasserted the opposite guarantee and was passing only because its example sat inside a newly-protected block; replaced by tests for what is now trueTrade-off: the site loses 22 spans (
install/syncand similar ambiguous words the detector won't wrap on sight) as the cost of holding the plain-text header rule. Easy to hand back if you'd rather keep them.The man page is left for CI to regenerate —
pandocisn't needed to build the concat.