From: martin f. krafft Date: Thu, 21 Aug 2008 13:11:39 +0000 (+0200) Subject: add puppet syntax stuff X-Git-Url: https://git.madduck.net/etc/vim.git/commitdiff_plain/bd190b278432f1a551128a72151d3a6463291563 add puppet syntax stuff --- diff --git a/.vim/ftdetect/puppet.vim b/.vim/ftdetect/puppet.vim new file mode 100644 index 0000000..8237f87 --- /dev/null +++ b/.vim/ftdetect/puppet.vim @@ -0,0 +1 @@ +au BufRead,BufNewFile *.pp setfiletype puppet diff --git a/.vim/syntax/puppet.vim b/.vim/syntax/puppet.vim new file mode 100644 index 0000000..698fc80 --- /dev/null +++ b/.vim/syntax/puppet.vim @@ -0,0 +1,89 @@ +" puppet syntax file +" Filename: puppet.vim +" Language: puppet configuration file +" Maintainer: Luke Kanies +" 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 + else + command -nargs=+ HiLink hi def link + 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"