#+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.