Attached is a patch that further enhances puppet-mode.el, against the version in the current Git head. This patch does the following:
- Made the basic indentation relative to puppet-indent-level rather than hard-coding 2 (using a patch provided by someone else in the Puppet Trac).
- Added support for indenting continued include lines based on puppet-include-indent.
- Fixed indentation for multiple resource definitions within one block by adding an additional indent after lines ending with a colon and dropping the indent after a semicolon.
- Made newline indent the next line by default to match the most common behavior of other modes.
- Fontified class references after "inherits".
- Fontified include references on continued include lines, using an ugly hack that I need to find a better solution for.
- Allowed underscores in types.
- Fontified overrides like other type references.
- Added realize to the list of keywords.
- Cleaned up the elisp coding style to look a little more like other programming modes, although more work remains in that area.
I also took the liberty of increasing the version number.