updated for version 7.0001
diff --git a/runtime/syntax/yaml.vim b/runtime/syntax/yaml.vim
new file mode 100644
index 0000000..56e578b
--- /dev/null
+++ b/runtime/syntax/yaml.vim
@@ -0,0 +1,105 @@
+" Vim syntax file
+" Language:	    YAML (YAML Ain't Markup Language)
+" Maintainer:	    Nikolai Weibull <source@pcppopper.org>
+" URL:		    http://www.pcppopper.org/vim/syntax/pcp/yaml/
+" Latest Revision:  2004-05-22
+" arch-tag:	    01bf8ef1-335f-4692-a228-4846cb64cd16
+
+if version < 600
+  syntax clear
+elseif exists("b:current_syntax")
+  finish
+endif
+
+" Todo
+syn keyword yamlTodo	contained TODO FIXME XXX NOTE
+
+" Comments (4.2.2)
+syn region  yamlComment	matchgroup=yamlComment start='\%(^\|\s\)#' end='$' contains=yamlTodo
+
+" Node Properties (4.3.4)
+syn match   yamlNodeProperty	'!\%(![^\\^%	 ]\+\|[^!][^:/	 ]*\)'
+
+" Anchors (4.3.6)
+syn match   yamlAnchor	'&.\+'
+
+" Aliases (4.3.7)
+syn match   yamlAlias	'\*.\+'
+
+" Operators, Blocks, Keys, and Delimiters
+syn match   yamlDelimiter   '[-,:]'
+syn match   yamlBlock	    '[\[\]{}>|]'
+syn match   yamlOperator    '[?+-]'
+syn match   yamlKey	    '\w\+\(\s\+\w\+\)*\ze\s*:'
+
+" Strings (4.6.8, 4.6.9)
+syn region  yamlString	start=+"+ skip=+\\"+ end=+"+ contains=yamlEscape
+syn region  yamlString	start=+'+ skip=+''+ end=+'+ contains=yamlSingleEscape
+syn match   yamlEscape	contained +\\[\\"abefnrtv^0_ NLP]+
+syn match   yamlEscape	contained '\\x\x\{2}'
+syn match   yamlEscape	contained '\\u\x\{4}'
+syn match   yamlEscape	contained '\\U\x\{8}'
+" TODO: how do we get 0x85, 0x2028, and 0x2029 into this?
+syn match   yamlEscape	'\\\%(\r\n\|[\r\n]\)'
+syn match   yamlSingleEscape contained +''+
+
+" Numbers
+" TODO: sexagecimal and fixed (20:30.15 and 1,230.15)
+syn match   yamlNumber	'\<[+-]\=\d\+\%(\.\d\+\%([eE][+-]\=\d\+\)\=\)\='
+syn match   yamlNumber	'0\o\+'
+syn match   yamlNumber	'0x\x\+'
+syn match   yamlNumber	'([+-]\=[iI]nf)'
+syn match   yamlNumber	'(NaN)'
+
+" Constants
+syn match   yamlConstant    '\<[~yn]\>'
+syn keyword yamlConstant    true True TRUE false False FALSE
+syn keyword yamlConstant    yes Yes on ON no No off OFF
+syn keyword yamlConstant    null Null NULL nil Nil NIL
+
+" Timestamps
+syn match   yamlTimestamp   '\d\d\d\d-\%(1[0-2]\|\d\)-\%(3[0-2]\|2\d\|1\d\|\d\)\%( \%([01]\d\|2[0-3]\):[0-5]\d:[0-5]\d.\d\d [+-]\%([01]\d\|2[0-3]\):[0-5]\d\|t\%([01]\d\|2[0-3]\):[0-5]\d:[0-5]\d.\d\d[+-]\%([01]\d\|2[0-3]\):[0-5]\d\|T\%([01]\d\|2[0-3]\):[0-5]\d:[0-5]\d.\dZ\)\='
+
+" Documents (4.3.1)
+syn region  yamlDocumentHeader	start='---' end='$' contains=yamlDirective
+syn match   yamlDocumentEnd	'\.\.\.'
+
+" Directives (4.3.2)
+syn match   yamlDirective   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_yaml_syn_inits")
+  if version < 508
+    let did_yaml_syn_inits = 1
+    command -nargs=+ HiLink hi link <args>
+  else
+    command -nargs=+ HiLink hi def link <args>
+  endif
+
+  HiLink yamlTodo	    Todo
+  HiLink yamlComment	    Comment
+  HiLink yamlDocumentHeader PreProc
+  HiLink yamlDocumentEnd    PreProc
+  HiLink yamlDirective	    Keyword
+  HiLink yamlNodeProperty   Type
+  HiLink yamlAnchor	    Type
+  HiLink yamlAlias	    Type
+  HiLink yamlDelimiter	    Delimiter
+  HiLink yamlBlock	    Operator
+  HiLink yamlOperator	    Operator
+  HiLink yamlKey	    Identifier
+  HiLink yamlString	    String
+  HiLink yamlEscape	    SpecialChar
+  HiLink yamlSingleEscape   SpecialChar
+  HiLink yamlNumber	    Number
+  HiLink yamlConstant	    Constant
+  HiLink yamlTimestamp	    Number
+
+  delcommand HiLink
+endif
+
+let b:current_syntax = "yaml"
+
+" vim: set sts=2 sw=2: