One of the coolest things about the bundle development process is that a grammar is "live". If you have a document open that comes under this grammar, and if you make a change in the grammar and save, the grammar is immediately applied freshly to the open document.
Unfortunately, this is _not_ true of custom themes. Let's say I have a custom theme in this same bundle (Test Theme). And let's say it contains this setting (among others):
{ name = 'Test'; scope = 'punctuation.test'; settings = { background = '#FF0000';}; }
I'm sure you can see where this is going. My idea here is to make a grammar-defined scope visible temporarily (for testing and analysis) by renaming it "punctuation.test" just long enough to let the theme color its background in the document, so I can see whether my scope is working correctly.
But this doesn't work. Well, it works, but every time I make a change in Test Theme, I have to apply that theme to the document _again_ (bring the document to the front and choose View > Theme > Test Theme) even though that theme is _already_ applied to this document (it is already checked at the time I choose it in the menu).
So what I'm suggesting is: please make themes "live" in the same way as bundle grammars: when I save a theme, it should be immediately and visibly applied to any open documents to which it is already applied. This would make the development process a lot snappier. Thanks! 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