Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Branch: master

Update Indentation Preferences location since dbdbd0

This commit moved everything in the root directory of the repo, but
the previous commit was merged as it was in the previous location...

Signed-off-by: brice <>
latest commit 343faa7e8e
@masterzen authored
Failed to load latest commit information.
Commands Switch the puppet parser to use html vs no color
Preferences Update Indentation Preferences location since dbdbd0
Snippets Changed snippets so that it's easier to add parameters
Syntaxes Move the bundle files to the top level of the repo so that the repo c…
Templates/module.tmTemplate Move the bundle files to the top level of the repo so that the repo c…
COPYING Added license, updated README
README.markdown updated Readme to make things more readable & useful
info.plist found out what it was good for & fixed: ordering of 'augeas' snipped …


Puppet TextMate Bundle

This is a TextMate bundle ( for Puppet manifests (

TextMate 2 is Open Source and available from (

(It may work for Sublime Edit 2)


To install, clone this repository and drag the puppet-textmate.tmbundle directory on the TextMate icon. The installation will then be automatic.


This bundle directly supports :

  • syntax highlighting of most of the puppet syntax
  • common resources or standard language snippets
  • command to check syntax of manifests (puppet parser validate) with ctrl-shift-v
  • function menu containing hierarchical class/nodes/define and resources titles
  • validates puppet on save with puppet-lint **
  • validates all puppet in project with ctrl+option+v **

To use last two features you need to have puppet-lint installed, on the command-line. To install it, type on your terminal:

sudo gem install puppet-lint puppet

Other standard textmate functions that are handy for writing puppet code:

  • command+option+] aligns the current set of assignments (=>)
  • ctrl-shift-' switches from a single quote to double quote and back.
Something went wrong with that request. Please try again.