diff options
| -rwxr-xr-x | build.sh | 1 | ||||
| -rw-r--r-- | ftdetect/puppet.vim | 1 | ||||
| -rw-r--r-- | syntax/puppet.vim | 89 | 
3 files changed, 91 insertions, 0 deletions
| @@ -60,6 +60,7 @@ syntax 'briancollins/vim-jst' &  syntax 'derekwyatt/vim-scala' &  syntax 'derekwyatt/vim-sbt' &  syntax 'travitch/hasksyn' & +syntax 'vim-scripts/Puppet-Syntax-Highlighting' &  wait diff --git a/ftdetect/puppet.vim b/ftdetect/puppet.vim new file mode 100644 index 00000000..8237f87f --- /dev/null +++ b/ftdetect/puppet.vim @@ -0,0 +1 @@ +au BufRead,BufNewFile *.pp setfiletype puppet diff --git a/syntax/puppet.vim b/syntax/puppet.vim new file mode 100644 index 00000000..698fc803 --- /dev/null +++ b/syntax/puppet.vim @@ -0,0 +1,89 @@ +" puppet syntax file +" Filename:     puppet.vim +" Language:     puppet configuration file +" Maintainer:   Luke Kanies <luke@madstop.com> +" URL:          +" Last Change: +" Version:      +" + +" Copied from the cfengine, ruby, and perl syntax files +" For version 5.x: Clear all syntax items +" For version 6.x: Quit when a syntax file was already loaded +if version < 600 +  syntax clear +elseif exists("b:current_syntax") +  finish +endif + +syn region  puppetDefine        start="^\s*\(class\|define\|site\|node\)" end="{" contains=puppetDefType,puppetDefName,puppetDefArguments +syn keyword puppetDefType       class define site node inherits contained +syn keyword puppetInherits      inherits contained +syn region  puppetDefArguments  start="(" end=")" contains=puppetArgument +syn match   puppetArgument      "\w\+" contained +syn match   puppetArgument      "\$\w\+" contained +syn match   puppetArgument      "'[^']+'" contained +syn match   puppetArgument      '"[^"]+"' contained +syn match   puppetDefName     "\w\+" contained + +syn match   puppetInstance           "\w\+\s*{" contains=puppetTypeBrace,puppetTypeName,puppetTypeDefault +syn match   puppetTypeBrace       "{" contained +syn match   puppetTypeName       "[a-z]\w*" contained +syn match   puppetTypeDefault    "[A-Z]\w*" contained + +syn match   puppetParam           "\w\+\s*=>" contains=puppetTypeRArrow,puppetParamName +syn match   puppetParamRArrow       "=>" contained +syn match   puppetParamName       "\w\+" contained +syn match   puppetVariable           "$\w\+" +syn match   puppetVariable           "${\w\+}" +syn match   puppetParen           "(" +syn match   puppetParen           ")" +syn match   puppetBrace           "{" +syn match   puppetBrace           "}" + +syn region  puppetString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=puppetVariable + +syn keyword puppetBoolean    true false +syn keyword puppetKeyword    import inherits include +syn keyword puppetControl    case default + +" comments last overriding everything else +syn match   puppetComment            "\s*#.*$" contains=puppetTodo +syn keyword puppetTodo               TODO NOTE FIXME XXX contained + +" Define the default highlighting. +" For version 5.7 and earlier: only when not done already +" For version 5.8 and later: only when an item doesn't have highlighting yet +if version >= 508 || !exists("did_puppet_syn_inits") +  if version < 508 +    let did_puppet_syn_inits = 1 +    command -nargs=+ HiLink hi link <args> +  else +    command -nargs=+ HiLink hi def link <args> +  endif + +  HiLink puppetVariable             Identifier +  HiLink puppetBoolean              Boolean +  HiLink puppetType                 Identifier +  HiLink puppetDefault              Identifier +  HiLink puppetKeyword              Define +  HiLink puppetTypeDefs             Define +  HiLink puppetComment              Comment +  HiLink puppetString               String +  HiLink puppetTodo                 Todo +"  HiLink puppetBrace                Delimiter +"  HiLink puppetTypeBrace            Delimiter +"  HiLink puppetParen                Delimiter +  HiLink puppetDelimiter            Delimiter +  HiLink puppetControl              Statement +  HiLink puppetDefType              Define +  HiLink puppetDefName              Type +  HiLink puppetTypeName             Statement +  HiLink puppetTypeDefault          Type +  HiLink puppetParamName            Identifier +  HiLink puppetArgument             Identifier + +  delcommand HiLink +endif + +let b:current_syntax = "puppet" | 
