Monday, August 30, 2004

BBEdit 8

BBEdit 8 is now shipping, and there are copious release notes, far too many to discuss. If I don’t mention one of the new features, it doesn’t mean that I dislike it (or that like it), just that I didn’t have anything in particular to say about it.

BBEdit’s interface, long derided as behind the times, has been re-done using Nib files, and it uses sheets and drawers—where they make sense—as well as the font panel. The spelling checker is now non-modal. Although under the hood the changes were likely major, on the surface the differences are minor. Overall, BBEdit 8 still feels like BBEdit, only better.

There is one major interface change, though: BBEdit can now open more than one document in the same window. This is similar to how Xcode and tabbed browsers work, and I’ve never really been a fan of this kind of interface. I think that’s because I’ve never seen it done right. BBEdit 8 gets it almost right, though, and as a result this feature has been growing on me. I often have many different documents open in BBEdit, from different projects, and grouping them into a few windows makes them easier to manage. There’s less overhead than in using BBEdit’s File Groups, and as a result I am using the Documents drawer more often. The main problem is that the resulting window arrangements are too ephemeral. They should be saveable, along with the palette positions, in Workspaces, or else someone should write an AppleScript that saves and restores window states. Also, I can’t tab into the Documents drawer; I have to click in it, which almost defeats the purpose of type-selecting.

Codeless Language Modules are here at last. There is already a module for Apache Configuration Files. BBEdit still uses its code-based language modules for most of the built-in languages, and so it kind of offers the best of both worlds: speed and accuracy for the common and difficult-to-parse languages, and easy extensibility for languages with standard tokenization. However, we’re not quite there yet, because the codeless language modules are a little under-powered. They don’t support regular expressions so, for example, the Apache module can’t color the pseudo HTML tags. Only one set of keywords is supported per language. And there is no way to take advantage of BBEdit’s existing language modules, e.g. to embed your new language (or one of the built-ins) into HTML. Language modules are still limited to coloring and the function pop-up; there is no language-sensitive indentation or navigation assistance, as in Emacs.

Other notes:

19 Comments RSS · Twitter

> Also, I can’t tab into the Documents drawer; I have
> to click in it, which almost defeats the purpose of
> type-selecting.

True, though the command-option-] and command-option-[ shortcuts help me to not mind *too* much.

i actually prefer the Straighten Quotes, because, while admittedly stupid, i can't tell you the number of times i looked for it and eventually realized "oh yeah, ascii... grrrr."

i totally agree with the documents drawer. this is the *first* use of a drawer that i actually don't think sucks. of course.

Frodo Loves I

"Suberversion on the way" is a feature?

Judging from Steve K's comments on BBEdit-Talk, Subversion support was slated for 8.0 but didn't quite make the cut. Therefore, I'm *guessing* that it will be added in a free update.

Also, I should mention that BBAutoComplete is fully compatible with BBEdit 8.

The Documents Drawer seems great. I was evaluating HTML editors a few weeks ago, and found BBEdit's lack of site/project management a big let down. People don't have 1 page web sites. We work on on multiple sites with multiple pages/resources. Your Workspace idea sounds the best way to offer this feature.

I wonder where they've documented the codeless language feature. I could not find info on the syntax of the plist files. I could create my own little file, but it doesn't do much, because it needs different features than those used for the Apache config files.

On a more general note, I am quite disappointed that they don't allow me to specify a simple context-free grammar for my language. BBedit would only provide a standard parser, and that would make sure they cover most commonly used languages.

The CLM documentation is in Appendix D of the manual.

Upgrading to textSOAP 4 from 3 is easy for BBEdit 8 and Mailsmith 2.1. The application "knows" where Plug Ins now live (very slick update from textSOAP 3 to 4 via eSellerate; I notice BareBones has switched from eSellerate to Digital River; cost of textSOAP upgrade was $12.50 or $15.00, forget which).

It also looks like textSOAP 4 has dropped support for Entourage X and added support for Mailsmith 2.1 with version 4.

DragThing 5.3 and NetNewsWire 1.0.8 both continue to have compatibility with BBEdit 8. The migration of Preferences and other resources to Applications Support for many of these apps is worth noting if you back up selected items with Backup to an iDisk as I do. In addition to all these recent updates I downgraded to Retrospect 5.1 from 6. 6 seems not only slower but is *really* slow when doing a "Recycle Backup" in my experience. I've also had the first Beach Balls I've ever seen with Retrospect when using 6.

Then there were the Apple updates to Airport/Airport Extreme and Airport Express....Labor Day Weekend arrived at the right time for me....

PS Many thanks again to the author of SpamSieve for his Labor Day weekend tech support for BBedit 8 and Mailsmith 2.1 as well as SpamSieve 2.2. :)

I can't believe they took out the Convert to ASCII command. Why would they do that?

Does anyone have any suggestions for another program to do this? Straightening quotes is great and all, but what about converting • to * or é to e?? Am I supposed to look for all those things by hand?

Sean: John Gruber posted a Perl script (may need to reopen the HTML file as Mac OS Roman) to the BBEdit-Talk mailing list that re-implements Convert To ASCII.

Johan Solve has written the script I suggested above, which saves and restores the open documents and their groupings.

Looks like a good solid upgrade. God knows what they were thinking with the new icon though. With two B's in their name, you'd think they'd want a nice looking B, but that icon has got to be about the ugliest thing I have ever seen. Pains me to look at :-)

Alex Robinson has written BBWorkspace, which has a nicer interface than Johan Solve's script but doesn't support multiple documents in the same window.

John Gruber reviews BBEdit 8.

Simon Beavis has posted BBCLMEditor 0.1, an editor for Codeless Language Modules, so that you don't have to edit the plist files by hand.

I should note that although BBEdit does lose track of file encodings, as described in the original posting, you can permanently tag a file with its encoding using an Emacs file variable. For example, to mark that a file is UTF-8, put this text somewhere in the first line of the file (probably inside a comment):

-*- coding: utf-8 -*-
Jorge Laranjo

Where can i find a Smarty module (for highlighting syntax) for Bbedit 8.0 ?

Please email me to

Unsure about 8.0 specifically, but this works in at least 8.2.6+:
BBEdit Preferences -> Documents Drawer -> Allow Documents Drawer to Acquire Keyboard Focus

Now use alt/option + tab. (Yes, I realize this article is nearly 4 years old, but people today are still looking for this solution.

[...] 9 doesn’t seem like as big an upgrade as 8.0 and 8.5 were, but it’s nonetheless a good [...]

[…] 1.3 adds support for Affrus, improves support for BBEdit 8, and has more modern packaging and […]

Leave a Comment