Skip to content

Latest commit

 

History

History
12 lines (7 loc) · 1.17 KB

README.md

File metadata and controls

12 lines (7 loc) · 1.17 KB

Tree-sitter grammar for the Puppet DSL

License Build Status

A Tree-sitter grammar for the Puppet language.

This grammar and the corresponding scanner have been developed following the structure of the original RACC grammar used by Puppet (see lib/puppet/pops/parser/egrammar.ra in the Puppet source code). Therefore this grammar should cover the complete set of Puppet's language features.

The grammar has been successfully tested using almost 100000 lines of code in more than 1500 files of real world Puppet code. This includes Puppet modules written by myself and popular modules by Puppetlabs and Vox Pupuli (e.g. apache, apt, docker, firewall, nginx, ntp, php, postgresql, stdlib, ...).

This parser is used for my Emacs major mode with tree-sitter support for Puppet manifests.