This repository has been archived on 2024-10-22. You can view files and clone it, but cannot push or open issues or pull requests.
spacemacs/layers/+tools/puppet
syl20bnr 584392bd92 [core] Fix layer dependencies based on layer variables
There was a edge case with the declaration of the `lsp` layer in `layers.el`
files.
The `hy` layer depends on the `python` layer which in turn depends on the `lsp`
layer if and only if the `python-backend` layer variable is set to `lsp`.
When the `hy` layer was declared first then it declares the `python` layer
without its layer variables, thus the `lsp` layer was not declared because the
`python-backend` variable was not set.

The fix is to gather all the layer dependencies and resolve them only after all
the used layers have been declared.

* new function `configuration-layer/declare-layer-dependencies`
* replace all calls to `configuration-layer/declare-layer` by the new function
  except for distribution layers (we declare layer dependencies right away in
  distribution layers)
2019-09-30 02:00:48 -04:00
..
img Replace +config-files category by +tools category 2016-06-09 23:56:09 -04:00
layers.el [core] Fix layer dependencies based on layer variables 2019-09-30 02:00:48 -04:00
packages.el Revert "Defer packages by default using use-package-always-defer" 2018-03-03 23:40:10 -05:00
README.org [doc] Fix typos and add missing/remove extra ~ 2019-06-01 20:40:22 +02:00

Puppet layer

/TakeV/spacemacs/media/commit/d125f2abd281f84e669d7618627766ef4ac9f606/layers/+tools/puppet/img/puppet.png

Description

This layer provides support for the Puppet DSL to Spacemacs.

Features:

  • Syntax highlighting via puppet-mode
  • Syntax-checking via puppet-lint
  • Navigation commands to jump between blocks
  • Applying the content of the current manifest directly from Emacs

Install

To use this configuration layer, add it to your ~/.spacemacs. You will need to add puppet to the existing dotspacemacs-configuration-layers list in this file.

To get syntax checking to work you will also need to install puppet-lint by executing:

  $ gem install puppet-lint

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.