Dash 5 Documentation Browser for Mac is Available

Dash 5 has a new, slick, flat UI. Here you see how the "apple:" prefix turned into a documentation-relative search.

I use Dash every day. And while it seemed the last upgrade to v4 wasn’t that long ago, my 1Password-powered licence purchase history tells me it was in February 2017 that I last paid for a Dash license, almost 3 years ago. So it’s about time that a paid upgrade hits Kapeli’s online store!

What can I say: I enjoy using Dash. It works. I use it to browse the Swift language docs, UIKit and other Apple framework docs, the Ruby and PHP language documentation, and what not!

Dash borrows interaction patterns from web browsers. You go to the search bar via Cmd-L, which is usually bound to the “location bar” in web browsers, and also the Omnibar in my app The Archive, and nvALT, and similar apps. The usual “find” shortcuts won’t work: Cmd-F will search within the visible document, and Cmd-Opt-F, regularly used to global searches in Finder and apps like OmniFocus, is not bound to anything. Since the search bar is now displayed like a browser location bar anyway, I didn’t have trouble adjusting.

If you’re new to Dash and have e.g. the Ruby and Apple docs installed, here’s The 1 Weird Trick That Saves Hours Of Work – or whatever buzzfeed headline this could become.

How to Limit Your Search to a Particular Docset

By default, Dash searches withing all your installed docsets. I have more than a dozen installed: one for each language I regularly use and a couple of frameworks/libraries that I use time and again, for example: the Apple framework docs, Ruby, PHP, Python, also Git Flow, Ruby on Rails, the Gosu game framework, ncurses.

When I search for the “Iterator” protocol definition in Swift, I don’t need or want to see the Ruby equivalent. I want to focus on the Apple docset. Here’s what you can do:

  • Open a new empty tab in Dash with Cmd-T to start a new search context
  • Type apple: iterator and notice how the search now displays a “locked” Apple icon in the search bar + the term “iterator”. This now confines searches to the Apple framework/language docs.
  • Open another tab and type ruby: each_with_object and notice how the icon is now the Ruby language icon and the search limited to the Ruby docs.

Each docset has its own search prefix. You can inspect these in the app Preferences (Cmd-,) in the “Docsets” preference pane. The right column shows the prefixes.

Years ago, I had to double-click the documentation bundle icons to confine my searches; but since learning of the DOCNAME + : search prefix I can search way more efficiently.

I have never used search profiles, though I can see how this can help trim down search results in a useful way, too. You could create a search profile for “Web Development” that enables searching in HTML, CSS, SCSS, and some JavaScript libraries but does not include any of your other docsets. That’s like combining multiple docset search prefixes in a set union. Similarly, for a Rails app, to include the Ruby language docset, Ruby on Rails framework docset, jQuery and SCSS can be handy.

If you haven’t already, grab yourself a copy of Dash!