#+TITLE: Puppet contribution layer for Spacemacs [[file:img/puppet.png]] * Table of Contents :TOC@4: - [[#description][Description]] - [[#install][Install]] - [[#key-bindings][Key bindings]] * Description This layer aims at providing support for the Puppet DSL using [[https://github.com/lunaryorn/puppet-mode][puppet-mode]]. * Features Puppetfile support via [[http://melpa.org/#/puppetfile-mode][puppetfile-mode]] * Install To use this contribution add it to your =~/.spacemacs= #+BEGIN_SRC emacs-lisp (setq-default dotspacemacs-configuration-layers '(puppet)) #+END_SRC * Key bindings The following key bindings are available in Puppet Mode: | Key Binding | Description | |-------------+---------------------------------------------------| | ~SPC m {~ | Move to the beginning of the current block | | ~SPC m }~ | Move to the end of the current block | | ~SPC m a~ | Align parameters in the current block | | ~SPC m '~ | Toggle string quoting between single and double | | ~SPC m ;~ | Blank the string at point | | ~SPC m j~ | Jump to a =class=, =define=, variable or resource | | ~SPC m c~ | Apply the current manifest in dry-run mode | | ~SPC m v~ | Validate the syntax of the current manifest | | ~SPC m l~ | Check the current manifest for semantic issues | | ~SPC m $~ | Interpolate with ${} in double quoted strings | Use =M-x customize-group RET puppet= to customize Puppet Mode.