Updates and bug fixes to puppet-mode.el
A jumbo update for the Puppet Emacs mode. This update does the
following:
- Fix indentation of array contents when the first element of the array isn't on the same line as the opening of the array.
- Fix indentation of the else and elsif line and after a ") {" line that ends the parameters to a define and starts the body of the define.
- Indenting a line no longer moves the point to the position following the indentation unless the line is entirely whitespace.
- Update font lock keywords with all the latest Puppet keywords.
- The type face is now used properly for all resource types. Previously, some of them would show up as the keyword face because they were also keywords. puppet-mode is now smarter about figuring out the context.
- regexp-opt is now used to make keyword matching more efficient.
- Clean up unnecessarily-complex code and refactor somewhat.
- Add standard elisp library file headers and footer.