I've been using Dash now as a part of my work flow for months and I can definitely attest to its awesomeness. So here's a great tip, and a feature request.
When searching for a method on a class, you can do a partial string of the class then use alt + up / down to quickly scan through method names. What'd be useful also ( and I think this was an earlier feature ) is to be able to have the second word look at class/instance methods first before then resorting to google / stack overflow.
Your feature request exists in the HUD style and will be part of the Standard style as well, in the next update. Anything that will come after a space will be used to search in-page and filter the methods. Furthermore, Dash will automatically highlight the first method you find.
I've been looking for an alternative to something like this (ala Ingredients) for Windows. Does anyone know of one that exists? (Also, one that supports PHP would be nice, although the ability to add other languages is fine, I can write that myself)
Fun fact: Development of Dash started with close inspection of the Ingredients' source code, 8 months later when the standard-window style was designed, I went back to Ingredients and took some UI components (awesome progress bar!).
Except Ingredients seems limited in documentation. Dash has a LOT of documentation. More importantly, it's here, now, live and actively being developed.
Kind of annoyed that there's no way within the search box to limit the docset I'm searching for (say I want to open read(2) and type 'read', I get all the Python results I enabled) and that exact matches aren't promoted to the top of the list (when searching for 'read(2)', the first result is aio_read, then pread, then read).
Maybe there's a way to do these things, but I didn't see them in the help pages after a quick perusal.
So, pretty dang nifty, maybe worth $30 to me. Definite sale at $15 or after the next time I get seriously frustrated by how man pages work (that hasn't happened in a while though)
edit: Suggestion for the search box: Start the search from the current position within the document rather than resetting to the top of the page. Especially given the subtle visual of the scrollbar, it'd be nice to not have searching cause the document to jump around all over the place.
You can use docset keywords to search a specific docset. See Preferences > Docsets > Enable Docsets.
Regarding your specific problem, read(2) should have had "read" as the top result. I'll look into it and try to figure out where the sorting fails. Thanks for reporting!
However, I do not like how it deals with matches in multiple docsets.
E.g. when you search for "String" and have the Ruby and RoR docsets enabled, then it will always show the RoR one first. The only way to switch to another one seems to be by clicking that microscopic icon in the list.
Possible fixes (ideally implement them all):
1. Optionally show all hits separately in the list (then I can just click directly on the Ruby or RoR version)
2. Display a toggle-bar at the bottom of the window where I can quickly enable/disable any docset. Most of the time I'll only want to search in one particular docset anyway.
3. Provide large buttons at the top of the right pane for each matched docset, to easily switch to a different version (Ruby, RoR, ...).
Other than that: Great work. If this issue gets fixed I could see this tool becoming part of my workflow (and paying for it).
Thanks for the enter-tip, that's helpful! (although I still don't like having to do it every time).
Yes, showing them separately seems like the easiest permanent fix. Ideally with the docset toggle-bar, so the noise can be cut down quickly when zero'ing in on one language for a few minutes (that's what typically happens in my workflow; digging into coffeescript for a while, then some ruby, then again coffee, etc.).
I've been using Dash for quite some time. I remember first seeing it pop up in the App Store, and picked it up. Honestly, I didn't expect much. I mean, it's a document reader. However, it's fast, and it works. And the large assortment of easily accessible documentation makes it incredibly easy to use. Now, it's a quite shortcut key away and a fast search. The only thing I wish it had was DDG's bang syntax. !<language> <search> would be easy on the muscle memory.
I think you can use docset keywords to achieve the functionality you want. You can define a keyword for each docset in Preferences. For example, python:test would search for "test" in the Python docset.
Just tried this out, and it's not as flexible as I would like. For example, !python <search> doesn't work. You'd need to use !python:<search>. It also seems to require that you have no space between the keyword, colon, and search phrase.
I use Alfred (http://www.alfredapp.com/) as a Spotlight replacement. One of its features is that it lets you set up search keywords (like in Chrome) to search on specific websites. I set up html, css and js keywords that link to http://dochub.io/. It's quite handy. If it's speed you're looking for, dochub is an open source project written in node.js, so it can easily be run local :)
It feels a bit clumsy. When I fist opened it I had no idea what to do really. It looks quite complicated for the (simple) function it serves.
I summarised some of the problems I had when I first opened the app.
- Where do I search? There are two search fields with ambiguous placeholder texts.
- Where is the documentation? I expected to be able to click on a button called "Ruby" and browse the Ruby documentation.
- The double function of the side bar (perhaps the whole app) confuses me. I expected it to be mainly an app to browse/look up documentation. After some time I figured out the app serves the function as snippet repository as well. What confuses me most is that once you search for documentation, the snippet part of the app completely disappears.
Personally I wouldn't have put in the snippet part. It's, in my opinion, the job of a text editor or IDE to manage snippets. Alternatively a dedicated app such as Notational Velocity could be used to manage snippets.
I hope you find this comment useful, as it's definitely not intended to shit on your app :)
1. Exists, using docset keywords. You can define a keyword for each docset in Preferences > Docsets > Enable docsets. For example, python:test, would search for "test" in the python docset.
2. Is coming in the next update.
I just switched to using this with Alfred because of speed alone.
I just set up a custom search using the url: dash://{query}
And a few specific custom searches like: dash://css:{query} or dash://php:{query} if I want to get to something specific.
It seems the System Service for searching in Dash wasn't working in IntelliJ IDEA so I set up a hotkey instead in Alfred to search Dash with the selected text. Works great.
I'll probably never even touch the snippet functionality, but I'll buy it when it is released for the speedy searches.
You can download docsets from Preferences > Docsets. Docsets are just folders which contain a SQLite index, more information on generating docsets can be found at http://kapeli.com/docsets.
As it seems that here is a/the dash developer: how much will it be in the future? It's free now, but (AFAIUI) it will be a paid software once it leaves beta!? Can someone explain?
Dash will switch to paid-for in the next update. Basically Dash will get an evil annoying twin, Pinky, in the form of a red bottom banner (see https://p.twimg.com/AsxsSE4CQAEUG7S.png:large). The removal of Pinky will cost $30, using an In-App Purchase. And yes, I'm the only developer behind Dash :)
Are the scripts/templates used to generate the docset downloads in Preferences available? I'd like to create an additional docset for Ruby 1.8 and Rails 2.3
It is based on the official apple documentation, but it's trying to provide a different interface to the one built into the IDE Xcode. In my experience it's significantly faster to use.
When searching for a method on a class, you can do a partial string of the class then use alt + up / down to quickly scan through method names. What'd be useful also ( and I think this was an earlier feature ) is to be able to have the second word look at class/instance methods first before then resorting to google / stack overflow.