Quicksilver for Developers
If you are:
- a Mac OS X user,
- a coder, web developer, or hacker of some sort (C/C++, Cocoa, Python, Ruby, Web dude(tte),
I just found a mighty good use of Quicksilver that I wanted to share—getting at reference documentation when you’re coding. Now, I hit Cmd-Space to invoke Quicksilver, and then type in, say:
NSString
to bring up the Cocoa Foundation documentation about the NSString class,sscanf
to bring up the sscanf(3) manpage, ordict
to bring up the Erlang dict module.
Nice, no?
Quicksilver uses a number of catalogs to create its big list of items that you can search. For example, there’s a Quicksilver plugin that catalogs applications on your hard disk, so that when you start typing iTun
, Quicksilver searches the applications catalog to find iTunes. If you start typing in a person’s name, the Address Book plugin has catalogued your Address Book and will search on that.
The neat thing is, you can add your own custom catalogs pretty easily, by indexing text files and HTML files. Quicksilver comes with a File and Folder scanner plugin that you can use to index reference documentation. Adding a custom catalog is easy:
- go to Quicksilver’s Preferences,
- select the Catalog tab,
- select the Custom catalog type on the left-hand pane,
- click the
+
button and pick “File & Folder Scanner”, - add the text/HTML file to be used as a catalog, and
- set the “Include Contents” pop-up button in the Inspector pane (the i button in the bottom-right hand corner) to HTML Links or Text Lines, as appropriate.
You probably want to also set Quicksilver to rescan your catalog once in a while: I’ve set mine to rescan every hour.
Here’s some example usage scenarios:
- Cocoa developers: Add
/Developer/ADC Reference Library/documentation/Cocoa/Reference/Foundation/ObjC_classic/index.html
as a catalog to index the Foundation kit classes, and/Developer/ADC Reference Library/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/index.html
to index the AppKit classes. Now, you can type any class name (such as NSString or NSWindow) at the Quicksilver prompt to immediately bring up the Cocoa documentation in your preferred Web browser. - UNIX developers: Install Bwana, which provides a kickass HTML version of your system’s manpages. (It dynamically generates them on demand, so don’t worry, it won’t take up another 100MB of space.) An an aside, Bwana’s the very first manpage viewer I’ve liked besides running man(1) itself in a shell. Run Bwana once and hit the Index button so it can index all the manpages. Add
~/Library/Caches/Bwana/manindex-.html
to your Quicksilver catalog, and all of your manpages will now be indexed. Bam, type inprintf
at a Quicksilver prompt, and behold as all those formatting specifiers you forgot magically appear in your Web browser. - Erlang developers: Download the Erlang documentation and keep it somewhere on your local hard disk. Add the
doc/index.html
file as a catalog, and bam, type indict
to bring up the Erlang dict module functions in your Web browser.
Of course, this works for any HTML documentation, so whether you’re a Java, Python, Ruby, C++ weenie or whatever, just grab some HTML documentation and let Quicksilver index it for you. Bam! (With kudos to Zapp Brannigan, my hero.)