Komodo-CFML: Minor update

I posted an updated version of Komodo-CFML for download. Nothing really significant, but there are a few minor changes to the syntax highlighting for CSS, HTML, and JavaScript in CFML files for consistency with the Komodo-provided highlighting in separate files of those types. In addition, this version will successfully install and work in the recently-announced Komodo 8 alpha releases.

Komodo-CFML: minor updates

I’ve just pushed a couple of minor updates to Komodo-CFML:

  • Better highlighting for numerical HTML character entities to address some goofiness based on their inclusion of the “#” character (e.g., #)
  • Fix to the DTD for ACF10 to address an error in the Adobe tag documentation for the CFIMAGE tag

I’ve also updated the example configuration file for HTMLTidy that I use to let Komodo know which CFML tags are considered valid tags to include the new tags brought to the table by ACF10.

Both of these updates are available on the Komodo-CFML page.

I’m currently working on building a DTD specific to the Railo CFML engines, and hope to provide support for both their current v3.3.x and preliminary v4.x products at some point in the next couple weeks.

Komodo-CFML v0.2.1: Support for ColdFusion 10

I have updated Komodo-CFML to provide preliminary support for Adobe’s ColdFusion 10 (ACF10) CFML language changes in ActiveState‘s Komodo IDE and Edit editors. I’m calling it “preliminary” at this time because ACF10 is in beta and because I have manually harvested these language changes from Adobe’s “ColdFusion 10 Beta New Features Notes” document (available here). I expect there to be some tuning of these changes by the time ACF10 becomes real. I also have a couple questions open on the ACF10 beta forums asking for clarification on items I see in the Adobe notes document that appear to be omissions or inconsistencies.

This version also includes a handful of minor fixes to errors and inconsistencies in the ACF9.01 tags and attributes that I noticed in assembling the changes to support ACF10, so even if you are not yet interested in playing with the ACF10 beta I’d recommend updating to this version of the editor extension.

To switch to the ACF10 tags and attributes, change the “Default HTML Document Type” ¬†selection in Komodo’s preferences at Preferences > Languages > HTML to refer to the ¬†entry toward the bottom of the provided list identified as “-//WE3GEEKS//DTD HTML 5 + CFML (Adobe ColdFusion 10)//EN”.

Download: cfml-0.2.1-ko.xpi

And, as always, feedback is welcome.

Komodo-CFML v0.2.0 Preview (11/2011)

I’ve spent a bit of time this past month or so getting back into my Komodo-CFML project, and have an updated preview available for the 0.2.0 release. This update is based on the following changes:

  • Built against the recently released v. 7.0.0b1 Komodo from ActiveState, but I’ve tested it against the current v. 6.1.x versions of both Komodo IDE and Edit. On a related note, this 7.0.0b1 build is the first of the 7-series I’ve considered stable enough for regular use; if you aren’t using it yet, you might consider at least pulling down a copy and giving it a go (you can have both versions installed concurrently, at least on Mac OS X by appropriately [re]naming the various installs).
  • Updated to incorporate some changes to Komodo’s HTML/JavaScript modes, such as appropriate syntax highlighting of JavaScript code within onXXX() handlers in HTML tags.
  • Much better/more complete handling of Adobe CF 9’s script-only components and interfaces.
  • Some minor fixes in the CFML/CFSCRIPT syntax highlighting.
  • Some minor changes (and some backtracking) in the content model for CFML. I may write more on this at some point, but I may have taken this about as far as I can.

My plan at this point is to address some consistency issues in the tokenizing of different syntax elements that are common across the various languages Komodo-CFML addresses (e.g., parens and braces) and to start working on the XML catalog for Railo’s CFML implementation (possibly along with a unified CFML XML catalog). I have also been doing a bit of work on a different dark color scheme for Komodo based on Chris Kempson’s “Tomorrow” series, and am getting close to making a version of that available.

Download: cfml-0.2.0-ko.xpi

Komodo-CFML v0.2.0 Preview

For the past six months or so, I’ve been working on a new version of my CFML extension for ActiveState’s Komodo Edit and Komodo IDE language editors. Late last fall, I’d reached a point in the development of Komodo-CFML where it became fairly obvious to me that I was going to need to take a different approach to the extension in order to achieve one of my original goals related to supporting CFML: language intelligence. So I started over… “started over” as in a complete re-write. (This actually marks the fourth time I’ve started over on this project since I took this on.)

Komodo-CFML tag intelligence: tags
CFML tag list for Komodo-CFML v0.2.0

What I have at this point is a reasonably complete preview (with the emphasis on “reasonably”) version of Komodo-CFML that achieves most of what is present in what I still think of as the “real” version and adds one big item: language intelligence for CFML tags. If you are interested in trying this new preview out, you are welcome to download and install it. You’ll definitely want to take a quick skim through at least the installation notes below and the list of things that, at this early venture, are not yet complete or close to maturity so that you know what you’re getting into.

Komodo-CFML tag intelligence: attributes
Attribute list for CFML tags in Komodo-CFML v0.2.0

That being said, I’ve been using this version exclusively since mid-January and I’ve had three or four brave souls I work with doing the same — despite some rough areas that still exist, it has proven to be very functional and the benefits of the language intelligence seem to outweigh those other areas. It’s also worth noting that this version should install and function on either Komodo Edit or Komodo IDE v6 or later (including the alphas of v7 ActiveState have released earlier this spring).

Before jumping in, please note there are some areas where I still have work to do:

  • Language intelligence is based on Adobe’s ColdFusion 9.01 version of the language, and is limited to tags: The editor will now attempt to provide (as shown above) lists of known tags and their attributes. At some point in the (distant?) future, I will work on extending this to include function arguments. In the near future, I will broaden coverage to include at least Railo’s version of the CFML tagset. It is also based on HTML 5; I may or may not ever provide these capabilities based on other dialects of HTML. Further, I’m still working on the content model within my HTML + CFML DTD, so there will be times when you are mixing CFML tags within HTML where the CFML tags won’t appear in the list of “valid” tags (note though that the attribute-completion will still work once you have the CFML tag started in these contexts).
  • Language-specific help: Komodo provides the ability to support language-specific help, and at present this works only for CFML functions via the excellent CFQuickDocs site. I’m hoping to find a way to make this also work for CFML tags, but based on implementing CFML as an extension of HTML (in order to get the tag intelligence working) it does not currently work.
  • CFSCRIPT-only components: I’ve not yet refactored this capability in the language parsing portion of the extension. This is one of my next tasks.
  • Miscellaneous rough edges: there are still some rough edges in various portions of the CFSCRIPT and CFML support related to tag matching, auto-indenting, and smart matching of characters that typically come in pairs (quotes, crunches, braces, parens, etc.). Some of those are fairly subtle; others, no so much.

Some things you will want to note as you install this new version of the Komodo-CFML extension:

  1. You can’t have both the “real” v0.1.8 extension and this new version installed simultaneously. If you are interested in trying this preview version, I’d recommend uninstalling the previous version and restarting Komodo before installing the preview version. (Related to this point: if you decide you really don’t want to use this preview version, switching back is as simple as uninstalling this version, restarting, and reinstalling the other version.)
  2. In order to turn on the tag-related language intelligence, you will need to select the appropriate default DOCTYPE for HTML files within Komodo’s preferences. Go to “Preferences > Languages > HTML” and select the “-//WE3GEEKS//DTD HTML 5 + CFML (Adobe ColdFusion 9.01)//EN” entry way down toward the bottom for the “Default HTML Document Type” setting.
  3. If you’ve not tried Komodo-CFML in the past, you’ll also want to install the CFML-specific HTML-Tidy configuration file as described on the Komodo-CFML page.

So, have at it and please let me know via comments below if you stumble into things that just don’t make sense or seem to be broken. I’m still working on those rough areas noted above, and will continue to make previews of this version available as I resolve problems and push this closer to “finished” (whatever that is.).

Finally, a word of thanks to the Eric and Todd at ActiveState for a great platform in Komodo and their occasional support as I’ve asked questions and asked for help. Also a word of thanks to my team at work for their patience and feedback on this project, and their willingness to bravely step into the breach and test this in a production environment. This would never have reached this state without their help.

Download: Komodo-CFML v0.2.0 preview