On Jan 31, 2014, at 3:58 PM, Adam Sharp adsharp@me.com wrote:
Would it be possible to expose an API for bundles to provide their own "preference pane", a la System Preferences? I'm imagining an interface something like Growl's Applications tab—a page in TextMate's Preferences window with a list of bundles in the sidebar, and an area on the right with settings for that bundle.
It wouldn't enable anything you can't already do with the Bundle Editor, but it would be much more *discoverable* for those who don't want to be required to hack on their bundles.
Since we're dreaming / brainstorming, I'll argue just the opposite. What's needed is an interface that gives much better information both to beginners and to experts about *what* bundle is causing the phenomenon. All of my conversations with TextMate have been about tracking down phenomena caused in diverse places far away from the document-type bundle. For example:
Me: Why is this text italic?
TM: It is markup.italic.asciidoc.
Me: Yes but that's not what I mean. I mean why is it *shown* as italic? I can't find that anywhere in the current Theme.
TM: Oh, it's because of one of the Settings way off in the Text bundle.
That's a four-line conversation, but in real life, it took a week to unfold. I had to hunt up and down, hither and yon, before I finally discovered what was going on. Why doesn't TextMate just *tell* me?
Here's another:
Me: Why is this weird auto-indenting happening?
TM: It is text.html.asciidoc.
Me. But I've looked and looked, and there's nothing in the asciidoc bundle that would cause it to auto-indent. Why is it auto-indenting?
TM: Oh, that's because of the Miscellaneous settings way off in the HTML bundle.
Again, that took about a week.
Do you see what I'm getting at here? Maybe *you* (meaning Allan and a few other guys) were born knowing all the scopes of all the bundles and what's in all of them, but I was not. What's needed for normal people like me is an explanation of how TM is arriving at its decisions that are affecting me. For an example of how the interface might work, look at the Safari Web Inspector, which brilliantly tells you how the CSS for selected text is calculated from the cascade of style sheets. m.
-- matt neuburg, phd = matt@tidbits.com, http://www.apeth.net/matt/ pantes anthropoi tou eidenai oregontai phusei Programming iOS 7! http://shop.oreilly.com/product/0636920031017.do iOS 7 Fundamentals! http://shop.oreilly.com/product/0636920032465.do RubyFrontier! http://www.apeth.com/RubyFrontierDocs/default.html TidBITS, Mac news and reviews since 1990, http://www.tidbits.com