season22 发表于 2018-8-3 09:52:30

让puppet代码支持vim高亮显示

" puppet syntax file  "
Filename: puppet.vim  " Language: puppet configuration file
  &quot; Maintainer: Dongwm<ciici1234@hotmail.com>
  &quot; URL:
  &quot; Last Change:
  &quot; Version:
  &quot;
  &quot; Copied from the cfengine, ruby, and perl syntax files
  &quot; For version 5.x: Clear all syntax items
  &quot; For version 6.x: Quit when a syntax file was already loaded
  if version < 600
  syntax clear
  elseif exists(&quot;b:current_syntax&quot;)
  finish
  endif
  syn region puppetDefine start=&quot;^\s*\(class\|define\|site\|node\)&quot; end=&quot;{&quot; contains=puppetDefType,puppetDefName,puppetDefArguments

  syn keyword puppetDefType>  syn keyword puppetInherits inherits contained
  syn region puppetDefArguments start=&quot;(&quot; end=&quot;)&quot; contains=puppetArgument
  syn match puppetArgument &quot;\w\+&quot; contained
  syn match puppetArgument &quot;\$\w\+&quot; contained
  syn match puppetArgument &quot;'[^']+'&quot; contained
  syn match puppetArgument '&quot;[^&quot;]+&quot;' contained
  syn match puppetDefName &quot;\w\+&quot; contained
  syn match puppetInstance &quot;\w\+\s*{&quot; contains=puppetTypeBrace,puppetTypeName,puppetTypeDefault
  syn match puppetTypeBrace &quot;{&quot; contained
  syn match puppetTypeName &quot;\w*&quot; contained
  syn match puppetTypeDefault &quot;\w*&quot; contained
  syn match puppetParam &quot;\w\+\s*=>&quot; contains=puppetTypeRArrow,puppetParamName
  syn match puppetParamRArrow &quot;=>&quot; contained
  syn match puppetParamName &quot;\w\+&quot; contained
  syn match puppetVariable &quot;$\w\+&quot;
  syn match puppetVariable &quot;${\w\+}&quot;
  syn match puppetParen &quot;(&quot;
  syn match puppetParen &quot;)&quot;
  syn match puppetBrace &quot;{&quot;
  syn match puppetBrace &quot;}&quot;
  syn region puppetString start=+&quot;+ skip=+\\\\\|\\&quot;+ end=+&quot;+ contains=puppetVariable
  syn keyword puppetBoolean true false
  syn keyword puppetKeyword import inherits include
  syn keyword puppetControl case default
  &quot; comments last overriding everything else
  syn match puppetComment &quot;\s*#.*$&quot; contains=puppetTodo
  syn keyword puppetTodo TODO NOTE FIXME XXX contained
  &quot; Define the default highlighting.
  &quot; For version 5.7 and earlier: only when not done already
  &quot; For version 5.8 and later: only when an item doesn't have highlighting yet
  if version >= 508 || !exists(&quot;did_puppet_syn_inits&quot;)
  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>  HiLink puppetBoolean Boolean

  HiLink puppetType>
  HiLink puppetDefault>  HiLink puppetKeyword Define
  HiLink puppetTypeDefs Define
  HiLink puppetComment Comment
  HiLink puppetString String
  HiLink puppetTodo Todo
  &quot; HiLink puppetBrace Delimiter
  &quot; HiLink puppetTypeBrace Delimiter
  &quot; HiLink puppetParen Delimiter
  HiLink puppetDelimiter Delimiter
  HiLink puppetControl Statement
  HiLink puppetDefType Define
  HiLink puppetDefName Type
  HiLink puppetTypeName Statement
  HiLink puppetTypeDefault Type

  HiLink puppetParamName>
  HiLink puppetArgument>  delcommand HiLink
  endif
  let b:current_syntax = &quot;puppet&quot;
页: [1]
查看完整版本: 让puppet代码支持vim高亮显示