Giter Club home page Giter Club logo

puppet-mode's Introduction

Puppet Mode

License GPL 3 travis

Puppet Mode lets you edit Puppet 3 manifests with GNU Emacs 24.

Puppet Mode is a major mode for GNU Emacs 24 which adds support for the Puppet language. Puppet is a system provisioning and configuration tool by Puppetlabs Inc. This mode supports Puppet 3 and later. Puppet 2 is not explicitly supported anymore, but should mostly work.

This mode needs GNU Emacs 24. It will not work with GNU Emacs 23 and below, or with other flavors of Emacs (e.g. XEmacs).

Features

  1. Syntax highlighting
  2. Indentation and alignment of expressions and statements
  3. Tag navigation (aka imenu)
  4. Manual validation and linting of manifests (see Flycheck for on-the-fly validation and linting)
  5. Integration with Puppet Debugger

Installation

From MELPA or MELPA Stable with M-x package-install RET puppet-mode.

In your Cask file:

(source melpa)

(depends-on "puppet-mode")

Usage

Just visit Puppet manifests. The major mode is enabled automatically for Puppet manifests with the extension .pp.

The following key bindings are available in Puppet Mode:

Key Command
C-M-a Move to the beginning of the current block
C-M-e Move to the end of the current block
C-c C-a Align parameters in the current block
C-c C-' Toggle string quoting between single and double
C-c C-; Blank the string at point
C-c C-j Jump to a class, define, variable or resource
C-c C-c Apply the current manifest in dry-run mode
C-c C-v Validate the syntax of the current manifest
C-c C-l Check the current manifest for semantic issues
C-c C-z Launch a puppet-debugger REPL
C-c C-r Send the currently marked region to the REPL
C-c C-b Send the current buffer to the REPL

For the integration with puppet-debugger to work, the puppet-debugger gem needs to be installed and available in your $PATH. See the instructions on puppet-debugger's repository on how to install it.

Use M-x customize-group RET puppet to customize Puppet Mode.

Support

Feel free to ask question or make suggestions in our issue tracker.

Contribute

License

Puppet Mode is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Puppet Mode is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

See COPYING for the complete license.

puppet-mode's People

Contributors

swsnr avatar bbatsov avatar rski avatar darkfeline avatar jamtur01 avatar kfogel avatar vinzent avatar rra avatar igalic avatar runejuhl avatar phst avatar fuco1 avatar bookest avatar jhelwig avatar tarsius avatar kmosher avatar russell avatar sergeyklay avatar pramodhkp avatar uu1101 avatar

Watchers

James Cloos avatar Nick Maludy avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.