textmate/git.tmbundle — pull request #14 by mrabbitt (2013-09-10 04:15:07+00:00)
Title: Replace various "Visualize with..." menu items with single configurable item

##### Background:
As per discussion in [Pull request 1](https://github.com/textmate/git.tmbundle/pull/1), the Git bundle menu is quite long and has top-level commands to open the project in various GUI apps (GitX, gitk, etc.). I wanted to add similar support for [SourceTree](http://www.sourcetreeapp.com), but this would make the menu even longer and more unwieldy.

##### In this pull request:
* All `Visualize History with ...` items menu items have been removed and replaced with a single `Visualize History with External Git App` item. (There's probably a better way to name this command...suggestions?)
![screenshot: Git bundle menu](https://f.cloud.github.com/assets/284825/1112093/4d43d122-19cd-11e3-92af-d0c3f5a4596b.PNG)

* The behavior of `Visualize History with External Git App` is configured via the config dialog. The user can choose between several preset apps, or choose "custom" and add a custom shell command to be run instead.
![screenshot: new config dialog options](https://f.cloud.github.com/assets/284825/1112092/4cfce1ae-19cd-11e3-8129-866f006c8581.PNG)

I've tested the changes with every listed app except for Gitnub.

The UI for the config dialog could be cleaned up a bit more: There are text fields for custom paths to GitX and Gitnub which are currently displayed no matter which app is selected from the menu. I'd like to add some Javascript to dynamically show/hide these fields based on the app selection, but before I go down that path, I wanted to get some feedback on this overall approach.

Let me know what you think of this approach. Thanks.