This one has been at the top of my Alfred wishlist since I downloaded my first Alfred v0.whatever beta: a workflow to open an ssh session (using the default ssh: protocol handler) with "smart" hostname autocompletion (based on ~/.ssh/config, ~/.ssh/known_hosts, /etc/hosts and Bonjour).
NB: for Bonjour discovery to work, you'll need to install the pybonjour module, e.g. `sudo /usr/bin/easy_install pybonjour`.
Comments and suggestions welcome.
2013-03-14 00:00, v0.4: rudimentary fuzzy matching, to pull entries from /etc/hosts as well as ~/.ssh/known_hosts, and to deal with usernames properly.
2013-03-14 09:00, v0.5: smart host matching.
2013-03-14 22:45, v0.6: ~/.ssh/config and Bonjour discovery (including full BTMM support), and improved error handling.
2013-03-14 23:00, v0.61: explicitly removed 'broadcasthost' from the list of possible matches.
2013-03-15 00:30, v0.7: match '.' as '.'
2013-03-16 10:45, v0.8: refactored code and add tab autocompletion.
2013-03-16 13:30, v0.9: oops - the last update broke the workflow if you didn't have pybonjour installed; fixed. Continued refactoring: now using nikipore's alfred-python module.
2013-03-16 14:15, v0.10: further refactoring to break core functionality out into a dedicated module (enabling module compilation). Combined with caching of file parsing results this should deliver significantly enhanced performance (not that it was slow before).
2013-03-16 23:00, v1.0: complete refactoring and move release to github. New feature: display the source(s) of each suggested completion. This ought to be the last update for a while.
2013-03-16 08:40, v1.1: fixed breakage when either of ~/.ssh/config or ~/.ssh/known_hosts didn't exist.
Edited by isometry, 11 July 2013 - 06:02 PM.