]> git.madduck.net Git - etc/vim.git/commitdiff

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

add puppet syntax stuff
authormartin f. krafft <madduck@madduck.net>
Thu, 21 Aug 2008 13:11:39 +0000 (15:11 +0200)
committermartin f. krafft <madduck@madduck.net>
Thu, 21 Aug 2008 13:11:39 +0000 (15:11 +0200)
.vim/ftdetect/puppet.vim [new file with mode: 0644]
.vim/syntax/puppet.vim [new file with mode: 0644]

diff --git a/.vim/ftdetect/puppet.vim b/.vim/ftdetect/puppet.vim
new file mode 100644 (file)
index 0000000..8237f87
--- /dev/null
@@ -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 (file)
index 0000000..698fc80
--- /dev/null
@@ -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"