Design Proposal 1: Tree with auto-expansion and filtering
• When filtering in the menu path, the entire tree until the match is expanded.
• Non matching command paths are hidden.
• The match in each lines shows as highlighted.
If that tree auto expansion logic during filtering is too hard, I have a cheap alternative in mind:
Design Proposal 2: Browse as tree or filter as flat list
Keep two synced representations of the same data-set:
1) The tree view for browsing as long as both filtering fields are empty.
2) View as flat lines in "Menu→Path→Command" fashion (1:1 as in the text file before the TAB separator) whenever one of the filter fields is filled.
- Not only potentially easier to implement, but also more compact to read/compare.
- Highlighting the matching part is probably also "included for free" by Cocoa features.
- Interestingly also the Menu Search in macOS Cocoa Apps displays the results in a "Path > to … > Command" fashion: