So I’ve been spending a lot of time poring over .idl files in BBEdit lately while I work on building reference documentation for Firefox 3. I finally got tired of not having syntax coloring and the like, so I created a codeless BBEdit language module for them. It’s nothing fancy but it’s a start. You get syntax coloring on comments, strings, the names of keywords, and so forth, and the function popup is presently populated with the names of all the interfaces defined in the file.

Doing more than that will require a full-fledged language module, which I’m looking at doing because I’d like to have the function popup populated with both the interface names and the names of all the attributes and methods defined therein.

If you’d find the current module handy, you can download it. Just unzip it, drop it in the ~/Library/Application Support/BBEdit/Language Modules folder (create that folder if it’s not there already) , and restart BBEdit.

You may need to go into the preferences, choose the Languages panel, and create an association between the “.idl” extension and the Mozilla IDL language. In theory this should happen automagically but I didn’t try it.

Hi, I’m the guy who’s been writing all of the language modules for BBEdit lately. In the last year, I’ve produced full language modules for JavaScript, Lua, Python, TeX, SQL, Strings files, Markdown, Java and YAML.

I’d be happy to help with the IDL module. I could either get you started, provide guidance, do the whole thing and send you the code, or we could do it as an open-source project hosted at the site of your choice. Or I could buzz off and mind my own business, if that’s your preference.

Here’s hoping you read this comment, Seth, since I don’t have your email address and there’s not one on your web site that I can find! :)

Yes, please — I could sure use the help from an expert at writing these things. Being at Mozilla, open source has particular appeal to me, so that’d be a great way to go (not to mention it’d make a nice example for others).

What for you makes the difference between IDE and “standalone text editor”? Is it things like speed of starting up and memory footprint or is it a feeling that an IDE might dictate project/solution/perspective usage, debugging infrastructure, code generation, locked in build system, “stuff” that gets in the way?

My usage of Komodo tends to be mainly as just a (good) text editor and a lot of effort is made in Komodo to keep it very usable that way (open a file and start editing — all the rest is just sugar). I’d like to understand whether some concept of what “IDE” implies colors your impression of Komodo.

I’ll be honest… I really don’t have an answer for you. I like the relatively simple and uncluttered appearance of a standalone text editor; however, most IDEs do have modes that look like that. I guess it’s just a matter of BBEdit/TextWrangler being what I’ve used for a long time now.

If I’m working on a project, I use an IDE (Xcode usually — my non-Mozilla work is pretty much all Mac code), although I’ve installed Komodo and a couple of others to look at, I’ve not had time to do so yet). But when I’m writing docs, which is what I usually do, it’s often easier to just “bbedit idlfilenamehere” from Terminal and start reading.