Problem
On the Command Reference page, clicking a category in the sidebar (e.g., "Search" at /commands/#search) only scrolls the browser to that group heading. All other command groups remain visible on the page.
With 200+ commands across 20+ groups, this makes the category navigation feel broken and incomplete. Users expect clicking "Search" to show only search commands, similar to how the search box filters results in real time.
Current behavior
- User clicks "Search" in sidebar
- Page scrolls to the Search group heading
- All other groups (String, List, Hash, etc.) remain visible above and below
- No visual indicator of which category is active in the sidebar
Expected behavior
- User clicks "Search" in sidebar
- Only Search commands are shown (other groups hidden)
- Sidebar highlights "Search" as the active category
- URL updates to
/commands/#search (shareable)
- Clicking "All" or clearing the filter shows everything again
Suggested implementation
Add a small JavaScript handler that:
- Listens for
hashchange events and checks location.hash on page load
- When a group hash is present, hides all
.command-group divs except the matching one (same pattern the existing search box uses)
- Adds an
.active class to the matching sidebar link
- Clears the filter when hash is removed or a "Show All" link is clicked
The existing searchCommands() function already implements show/hide logic for .command-group and .command-entry elements, so this would follow the same pattern.
Problem
On the Command Reference page, clicking a category in the sidebar (e.g., "Search" at
/commands/#search) only scrolls the browser to that group heading. All other command groups remain visible on the page.With 200+ commands across 20+ groups, this makes the category navigation feel broken and incomplete. Users expect clicking "Search" to show only search commands, similar to how the search box filters results in real time.
Current behavior
Expected behavior
/commands/#search(shareable)Suggested implementation
Add a small JavaScript handler that:
hashchangeevents and checkslocation.hashon page load.command-groupdivs except the matching one (same pattern the existing search box uses).activeclass to the matching sidebar linkThe existing
searchCommands()function already implements show/hide logic for.command-groupand.command-entryelements, so this would follow the same pattern.