Editors
Using an editor that provides syntax highlighting and other features can significantly enhance prodcutivity and quality of life.
Emacs
For Emacs users, editing CFEngine policies is easy with the built-in CFEngine 3 mode in the cfengine.el library. For an overview of the capabilities, see the webinar by Ted Zlatanov and Appendix A of Diego Zamboni’s Learning CFEngine book.
Spacemacs
Spacemacs has a CFEngine layer that configures many of the features shown in the Emacs webinar above out of the box as well as integration for executing cfengine3
src
blocks in org-mode
. It’s a great way for vi/vim
lovers to leverage the power of Emacs.
Vi/Vim
Vi/Vim users can edit CFEngine policies with Neil Watson’s CFEngine 3 scripts, available as GPL-software on GitHub. Neil’s vi mode is also described in Appendix B of Diego Zamboni’s “Learning CFEngine” book.
Visual Studio Code
Microsoft VS Code users have syntax highlighting thanks to AZaugg. Install the syntax highlighting and snippets directly from within Visual Studio Code by running ext install vscode-cfengine.
Sublime Text
Sublime Text 2 and 3 users have syntax highlighting and snippets thanks to Valery Astraverkhau. Get the syntax highlighting and snippets from his github repository. Aki Vanhatalo has contributed a beautifier to automatically re-indent policy in Sublime Text. Sublime Screenshot
Atom
Using Githubs hackable editor? You can get syntax highlighting with the language-cfengine3 package.
Eclipse
Interested in syntax highlighting for your CFEngine policy in Eclipse? Try this contributed syntax definition.
Want more out of your Eclipse & CFEngine experience? Itemis Xtext expert Boris Holzer developed a CFEngine workbench for Eclipse. They even published a brief screen-cast highlighting many of its features. For more information about their workbench please contact them using this form.
Kate
Users of the editor of the KDE desktop, Kate, have syntax highlighting available thanks to Jessica Greer, John Coleman, and Panos Christeas. The syntax highlighting definition can be found with the CFEngine source in contrib.