Add proper Emmet (ex Zen Coding) support

Review Request #107101 - Created Oct. 29, 2012 and submitted

Gregor Petrin
This commit adds the Emmet (previously known as Zen Coding) plugin to Kate. It is a very well known editor-agnostic plugin for web developers.

Emmet itself is located at

There is an existing Zen Coding plugin for Kate (called Insane Coding) which is a C++ rewrite of the original. The reason for this submission is that Insane Coding doesn't seem to have been updated for some time and supports only a subset of all the features available in the current version of Emmet/Zen Coding. Furthermore, Emmet itself is written in Javascript so updating to a newer version should be as simple as building it and overwriting a Javascript file in Kate's repository.

The submission is split into 3 files:

- 49_emmet_lib.js contains Emmet itself (plus the Underscore.js library on which it depends). This file should be replaced as newer versions of Emmet become available.

- 50_emmet_editor_interface.js contains the Emmet to editor interface via which Emmet manipulates with documents. This file does not need to be changed unless Emmet's interface API ever changes.

- emmet.js is a Kate user script that lists the available actions, their help and handles calling them. It should only be edited in case Emmet exposes new public methods.

This is my first both Review Board as well as Kate submission so any help submitting a better review request is appreciated.
There are no formal tests written for the Kate-Emmet interface, though Emmet itself is unit tested. I have been using it in my work for the last month or so and everything seems to work.

I could write unit tests but would appreciate some guidance on how to get started.
Gregor Petrin
Christoph Cullmann
Commit Hook
This review has been submitted with commit a1f58a262f9809ee3300009df1f60ff6af49f058 by Christoph Cullmann to branch master.
Gregor Petrin
Review request changed

Status: Closed (submitted)