forked from tagliati/vimfiles
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
90 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
au BufRead,BufNewFile *.pp setfiletype puppet |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
" puppet syntax file | ||
" Filename: puppet.vim | ||
" Language: puppet configuration file | ||
" Maintainer: Luke Kanies <[email protected]> | ||
" 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" |