summaryrefslogtreecommitdiff
path: root/.vim/syntax
diff options
context:
space:
mode:
authorRené 'Necoro' Neumann <necoro@necoro.net>2009-10-07 17:05:19 +0200
committerRené 'Necoro' Neumann <necoro@necoro.net>2009-10-07 17:05:19 +0200
commitdd5427baaf49f8de4355abeb6bc8c6dd14f74e25 (patch)
tree46fcfc70bd792e80ceebaab89a7f8fc06bc29101 /.vim/syntax
downloaddotfiles-dd5427baaf49f8de4355abeb6bc8c6dd14f74e25.tar.gz
dotfiles-dd5427baaf49f8de4355abeb6bc8c6dd14f74e25.tar.bz2
dotfiles-dd5427baaf49f8de4355abeb6bc8c6dd14f74e25.zip
Initial check-in of files
Diffstat (limited to '.vim/syntax')
-rw-r--r--.vim/syntax/cobra.vim169
-rw-r--r--.vim/syntax/mako.vim86
-rw-r--r--.vim/syntax/npt.vim50
-rwxr-xr-x.vim/syntax/palmos.vim41
-rw-r--r--.vim/syntax/scons.vim75
-rw-r--r--.vim/syntax/swig.vim44
-rw-r--r--.vim/syntax/vala.vim172
7 files changed, 637 insertions, 0 deletions
diff --git a/.vim/syntax/cobra.vim b/.vim/syntax/cobra.vim
new file mode 100644
index 0000000..b84158e
--- /dev/null
+++ b/.vim/syntax/cobra.vim
@@ -0,0 +1,169 @@
+" Vim syntax file
+" Language: Cobra
+" Maintainer:
+" Updated: 2008-10-11
+"
+"
+" Options to control Cobra syntax highlighting:
+"
+" For highlighted numbers:
+"
+" let cobra_highlight_numbers = 1
+"
+" For highlighted builtin functions:
+"
+" let cobra_highlight_builtins = 1
+"
+" For highlighted standard exceptions:
+"
+" let cobra_highlight_exceptions = 1
+"
+" Highlight erroneous whitespace:
+"
+" let cobra_highlight_space_errors = 1
+"
+" If you want all possible Cobra highlighting (the same as setting the
+" preceding options):
+"
+" let cobra_highlight_all = 1
+"
+
+" 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 keyword cobraStatement abstract all any as
+syn keyword cobraStatement assembly assert base be body
+syn keyword cobraStatement bool branch break callable catch
+syn keyword cobraStatement char class continue ct_trace cue
+syn keyword cobraStatement decimal def Dictionary dynamic
+syn keyword cobraStatement ensure enum event expect extend
+syn keyword cobraStatement extern fake false finally float
+syn keyword cobraStatement float32 float64 get
+syn keyword cobraStatement has ignore implements implies
+syn keyword cobraStatement inherits init inlined inout
+syn keyword cobraStatement int int16 int32 int64 int8
+syn keyword cobraStatement interface internal invariant List
+syn keyword cobraStatement listen must namespace new nil
+syn keyword cobraStatement nonvirtual number of off
+syn keyword cobraStatement old on out override
+syn keyword cobraStatement partial pass passthrough print
+syn keyword cobraStatement private pro protected public raise
+syn keyword cobraStatement ref require result return set
+syn keyword cobraStatement Set shared sig stop String
+syn keyword cobraStatement struct success test this throw
+syn keyword cobraStatement to to? trace true try
+syn keyword cobraStatement Type uint uint16 uint32 uint64
+syn keyword cobraStatement uint8 using value var
+syn keyword cobraStatement vari virtual where yield
+
+syn match cobraFunction "[a-zA-Z_][a-zA-Z0-9_]*" contained
+syn keyword cobraRepeat for while post
+syn keyword cobraConditional if else
+syn keyword cobraOperator and in is not or
+syn keyword cobraPreCondit use from import
+syn match cobraComment "#.*$" contains=cobraTodo,@Spell
+syn keyword cobraTodo TODO FIXME XXX contained
+
+" strings
+syn region cobraString matchgroup=Normal start=+[uU]\='+ end=+'+ skip=+\\\\\|\\'+ contains=cobraEscape,@Spell
+syn region cobraString matchgroup=Normal start=+[uU]\="+ end=+"+ skip=+\\\\\|\\"+ contains=cobraEscape,@Spell
+syn region cobraString matchgroup=Normal start=+[uU]\="""+ end=+"""+ contains=cobraEscape,@Spell
+syn region cobraString matchgroup=Normal start=+[uU]\='''+ end=+'''+ contains=cobraEscape,@Spell
+syn region cobraRawString matchgroup=Normal start=+[uU]\=[rR]'+ end=+'+ skip=+\\\\\|\\'+ contains=@Spell
+syn region cobraRawString matchgroup=Normal start=+[uU]\=[rR]"+ end=+"+ skip=+\\\\\|\\"+ contains=@Spell
+syn region cobraRawString matchgroup=Normal start=+[uU]\=[rR]"""+ end=+"""+ contains=@Spell
+syn region cobraRawString matchgroup=Normal start=+[uU]\=[rR]'''+ end=+'''+ contains=@Spell
+syn match cobraEscape +\\[abfnrtv'"\\]+ contained
+syn match cobraEscape "\\\o\{1,3}" contained
+syn match cobraEscape "\\x\x\{2}" contained
+syn match cobraEscape "\(\\u\x\{4}\|\\U\x\{8}\)" contained
+syn match cobraEscape "\\$"
+
+if exists("cobra_highlight_all")
+ let cobra_highlight_numbers = 1
+ let cobra_highlight_builtins = 1
+ let cobra_highlight_exceptions = 1
+ let cobra_highlight_space_errors = 1
+endif
+
+if exists("cobra_highlight_numbers")
+ " numbers (including longs and complex)
+ syn match cobraNumber "\<0x\x\+[Ll]\=\>"
+ syn match cobraNumber "\<\d\+[LljJ]\=\>"
+ syn match cobraNumber "\.\d\+\([eE][+-]\=\d\+\)\=[jJ]\=\>"
+ syn match cobraNumber "\<\d\+\.\([eE][+-]\=\d\+\)\=[jJ]\=\>"
+ syn match cobraNumber "\<\d\+\.\d\+\([eE][+-]\=\d\+\)\=[jJ]\=\>"
+endif
+
+if exists("cobra_highlight_builtins")
+ " builtin functions, types and objects, not really part of the syntax
+ syn keyword cobraBuiltin True False bool
+endif
+
+if exists("cobra_highlight_exceptions")
+ " builtin exceptions and warnings
+ syn keyword cobraException Exception
+endif
+
+if exists("cobra_highlight_space_errors")
+ " trailing whitespace
+ syn match cobraSpaceError display excludenl "\S\s\+$"ms=s+1
+ " mixed tabs and spaces
+ syn match cobraSpaceError display " \+\t"
+ syn match cobraSpaceError display "\t\+ "
+endif
+
+" This is fast but code inside triple quoted strings screws it up. It
+" is impossible to fix because the only way to know if you are inside a
+" triple quoted string is to start from the beginning of the file. If
+" you have a fast machine you can try uncommenting the "sync minlines"
+" and commenting out the rest.
+syn sync match cobraSync grouphere NONE "):$"
+syn sync maxlines=200
+"syn sync minlines=2000
+
+if version >= 508 || !exists("did_cobra_syn_inits")
+ if version <= 508
+ let did_cobra_syn_inits = 1
+ command -nargs=+ HiLink hi link <args>
+ else
+ command -nargs=+ HiLink hi def link <args>
+ endif
+
+ " The default methods for highlighting. Can be overridden later
+ HiLink cobraStatement Statement
+ HiLink cobraFunction Function
+ HiLink cobraConditional Conditional
+ HiLink cobraRepeat Repeat
+ HiLink cobraString String
+ HiLink cobraRawString String
+ HiLink cobraEscape Special
+ HiLink cobraOperator Operator
+ HiLink cobraPreCondit PreCondit
+ HiLink cobraComment Comment
+ HiLink cobraTodo Todo
+ HiLink cobraDecorator Define
+ if exists("cobra_highlight_numbers")
+ HiLink cobraNumber Number
+ endif
+ if exists("cobra_highlight_builtins")
+ HiLink cobraBuiltin Function
+ endif
+ if exists("cobra_highlight_exceptions")
+ HiLink cobraException Exception
+ endif
+ if exists("cobra_highlight_space_errors")
+ HiLink cobraSpaceError Error
+ endif
+
+ delcommand HiLink
+endif
+
+let b:current_syntax = "cobra"
+
+" vim: ts=8
diff --git a/.vim/syntax/mako.vim b/.vim/syntax/mako.vim
new file mode 100644
index 0000000..afc31c8
--- /dev/null
+++ b/.vim/syntax/mako.vim
@@ -0,0 +1,86 @@
+" Vim syntax file
+" Language: Mako
+" Maintainer: Armin Ronacher <armin.ronacher@active-4.com>
+" URL: http://lucumr.pocoo.org/
+" Last Change: 2008 September 12
+" Version: 0.6.1
+"
+" Thanks to Brine Rue <brian@lolapps.com> who noticed a bug in the
+" delimiter handling.
+"
+" Known Limitations
+" the <%text> block does not have correct attributes
+
+" 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
+
+if !exists("main_syntax")
+ let main_syntax = "html"
+endif
+
+"Source the html syntax file
+ru! syntax/html.vim
+unlet b:current_syntax
+
+"Put the python syntax file in @pythonTop
+syn include @pythonTop syntax/python.vim
+
+" End keywords
+syn keyword makoEnd contained endfor endwhile endif endtry enddef
+
+" Block rules
+syn region makoLine matchgroup=makoDelim start=#^\s*%# end=#$# keepend contains=@pythonTop,makoEnd
+syn region makoBlock matchgroup=makoDelim start=#<%!\?# end=#%># keepend contains=@pythonTop,makoEnd
+
+" Variables
+syn region makoNested start="{" end="}" transparent display contained contains=makoNested,@pythonTop
+syn region makoVariable matchgroup=makoDelim start=#\${# end=#}# contains=makoNested,@pythonTop
+
+" Comments
+syn region makoComment start="^\s*##" end="$"
+syn region makoDocComment matchgroup=makoDelim start="<%doc>" end="</%doc>" keepend
+
+" Literal Blocks
+syn region makoText matchgroup=makoDelim start="<%text[^>]*>" end="</%text>"
+
+" Attribute Sublexing
+syn match makoAttributeKey containedin=makoTag contained "[a-zA-Z_][a-zA-Z0-9_]*="
+syn region makoAttributeValue containedin=makoTag contained start=/"/ skip=/\\"/ end=/"/
+syn region makoAttributeValue containedin=MakoTag contained start=/'/ skip=/\\'/ end=/'/
+
+" Tags
+syn region makoTag matchgroup=makoDelim start="<%\(def\|call\|page\|include\|namespace\|inherit\)\>" end="/\?>"
+syn match makoDelim "</%\(def\|call\|namespace\)>"
+
+" Newline Escapes
+syn match makoEscape /\\$/
+
+" Default highlighting links
+if version >= 508 || !exists("did_mako_syn_inits")
+ if version < 508
+ let did_mako_syn_inits = 1
+ com -nargs=+ HiLink hi link <args>
+ else
+ com -nargs=+ HiLink hi def link <args>
+ endif
+
+ HiLink makoDocComment makoComment
+ HiLink makoDefEnd makoDelim
+
+ HiLink makoAttributeKey Type
+ HiLink makoAttributeValue String
+ HiLink makoText Normal
+ HiLink makoDelim Preproc
+ HiLink makoEnd Keyword
+ HiLink makoComment Comment
+ HiLink makoEscape Special
+
+ delc HiLink
+endif
+
+let b:current_syntax = "mako"
diff --git a/.vim/syntax/npt.vim b/.vim/syntax/npt.vim
new file mode 100644
index 0000000..73099ca
--- /dev/null
+++ b/.vim/syntax/npt.vim
@@ -0,0 +1,50 @@
+" Vim syntax file
+" Language: N:PyTpl
+" Maintainer: René Neumann <necoro@necoro.net>
+" Last Change: 2006 Jan 26
+" Info: Please look in your filetype.vim for *.tpl and set "setf npt"
+
+" 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
+
+" load html syntax at the beginning
+if version < 600
+ so <sfile>:p:h/html.vim
+else
+ runtime! syntax/html.vim
+ unlet b:current_syntax
+endif
+
+syn region tplComment start=/^\s*#/ end=/$/
+syn region tplTag start=/\[/ end=/\]/ contains=tplsysTag,tplforbSysTag,tplTagFlag
+syn region tplTaggy start=/{{/ end=/}}/ contains=tplsysTag,tplforbSysTag,tplTaggyFlag
+syn match tplforbSysTag /\$__[A-Z_]\+__/ contained
+syn match tplsysTag /\$[A-Z][A-Z_]*/ contained
+syn match tplTagFlag /[?=&!%]/ contained
+syn match tplTaggyFlag /[!=]/ contained
+
+" Highlighting
+if version >= 508
+ if version < 508
+ command -nargs=+ HiLink hi link <args>
+ else
+ command -nargs=+ HiLink hi def link <args>
+ endif
+
+ HiLink tplComment Comment
+ HiLink tplTag Type
+ HiLink tplTaggy Identifier
+ HiLink tplAll String
+ HiLink tplforbSysTag Error
+ HiLink tplSysTag Keyword
+ HiLink tplTagFlag Constant
+ HiLink tplTaggyFlag Constant
+ delcommand HiLink
+endif
+
+let b:current_syntax = "npt"
diff --git a/.vim/syntax/palmos.vim b/.vim/syntax/palmos.vim
new file mode 100755
index 0000000..2fd60cc
--- /dev/null
+++ b/.vim/syntax/palmos.vim
@@ -0,0 +1,41 @@
+" Vim syntax file
+" Language: PalmOS
+" Maintainer: René Neumann aka Necoro <necoro@zakarum.de>
+" Last Change: 2004 May 29
+
+" 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
+
+" Read the C++ syntax to start with
+if version < 600
+ so <sfile>:p:h/cpp.vim
+else
+ runtime! syntax/cpp.vim
+ unlet b:current_syntax
+endif
+
+
+" PalmOS extentions
+syn keyword palmGenType UInt8 UInt16 UInt32 Int8 Int16 Int32 Boolean Char MemHandle MemPtr DmOpenRef WChar Err
+syn keyword palmUsefulTypes ListType ControlType FormType FieldType ScrollBarType TableType DateType DateTimeType RectangleType EventType
+syn keyword palmUsefulPtrs ListPtr ControlPtr FormPtr FieldPtr ScrollBarPtr TablePtr DatePtr DateTimePtr RectanglePtr EventPtr
+syn keyword palmNetTypes NetSocketRef NetSocketAddrType NetSocketAddrINType NetHostInfoBufType
+syn keyword palmNoDeleteNew delete new
+syn keyword palmExceptions ErrThrow ErrCatch ErrEndCatch ErrTry
+
+command -nargs=+ HiLink hi def link <args>
+
+ HiLink palmExceptions Exception
+ HiLink palmNoDeleteNew ErrorMsg
+ HiLink palmGenType Type
+ HiLink palmUsefulTypes Type
+ HiLink palmUsefulPtrs Type
+ HiLink palmNetTypes Type
+ delcommand HiLink
+
+let b:current_syntax = "palmos"
diff --git a/.vim/syntax/scons.vim b/.vim/syntax/scons.vim
new file mode 100644
index 0000000..0b63f9c
--- /dev/null
+++ b/.vim/syntax/scons.vim
@@ -0,0 +1,75 @@
+" Vim syntax file
+" Language: SConscript
+" Maintainer: Xi Wang <xi.wang@gmail.com>
+" Last Change: 2006 Nov 15
+
+if version < 600
+ syntax clear
+elseif exists("b:current_syntax")
+ finish
+endif
+
+" Read the Python syntax to start with
+if version < 600
+ so <sfile>:p:h/python.vim
+else
+ runtime! syntax/python.vim
+ unlet b:current_syntax
+endif
+
+" SConscript extentions
+syn keyword sconsTarget CFile CXXFile DVI Jar Java JavaH
+syn keyword sconsTarget Library LoadableModule M4 Moc
+syn keyword sconsTarget MSVSProject MSVSSolution Object
+syn keyword sconsTarget PCH PDF PostScript Program
+syn keyword sconsTarget RES RMIC RPCGenClient RPCGenHeader
+syn keyword sconsTarget RPCGenService RPCGenXDR
+syn keyword sconsTarget SharedLibrary SharedObject
+syn keyword sconsTarget StaticLibrary StaticObject
+syn keyword sconsTarget Tar TypeLibrary Uic Zip
+syn keyword sconsEnv Action AddPostAction AddPreAction
+syn keyword sconsEnv Alias AlwaysBuild Append AppendENVPath
+syn keyword sconsEnv AppendUnique BitKeeper
+syn keyword sconsEnv BuildDir Builder CacheDir Clean
+syn keyword sconsEnv Command Configure Clone Copy CVS
+syn keyword sconsEnv Default DefaultEnvironment
+syn keyword sconsEnv Depends Dictionary Dir Dump
+syn keyword sconsEnv EnsurePythonVersion EnsureSConsVersion
+syn keyword sconsEnv Environment Execute Exit Export
+syn keyword sconsEnv File FindFile Flatten
+syn keyword sconsEnv GetBuildPath GetLaunchDir GetOption
+syn keyword sconsEnv Help Ignore Import Install InstallAs
+syn keyword sconsEnv Literal Local MergeFlags NoClean
+syn keyword sconsEnv ParseConfig ParseDepends ParseFlags
+syn keyword sconsEnv Preforce Platform Precious
+syn keyword sconsEnv Prepend PrependENVPath PrependUnique
+syn keyword sconsEnv RCS Replace Repository Return
+syn keyword sconsEnv Scanner SCCS SConscript SConscriptChdir
+syn keyword sconsEnv SConsignFile SetDefault SetOption
+syn keyword sconsEnv SideEffect SourceCode SourceSignatures
+syn keyword sconsEnv Split TargetSignatures Tool
+syn keyword sconsEnv Value WhereIs
+syn keyword sconsConf Configure Finish
+syn keyword sconsConf CheckCHeader CheckCXXHeader CheckFun
+syn keyword sconsConf CheckLib CheckLibWithHeader CheckType
+syn keyword sconsOpt Options
+syn match sconsVar /\<[A-Z_][A-Z0-9_]\+\>/
+
+" Default highlighting
+if version >= 508 || !exists("did_scons_syntax_inits")
+ if version < 508
+ let did_scons_syntax_inits = 1
+ command -nargs=+ HiLink hi link <args>
+ else
+ command -nargs=+ HiLink hi def link <args>
+ endif
+ HiLink sconsTarget Keyword
+ HiLink sconsEnv Function
+ HiLink sconsConf Function
+ HiLink sconsOpt Function
+ HiLink sconsVar Special
+ delcommand HiLink
+endif
+
+let b:current_syntax = "scons"
+" vim: ts=8
diff --git a/.vim/syntax/swig.vim b/.vim/syntax/swig.vim
new file mode 100644
index 0000000..90666c8
--- /dev/null
+++ b/.vim/syntax/swig.vim
@@ -0,0 +1,44 @@
+" Vim syntax file
+" Language: SWIG
+" Maintainer: Roman Stanchak (rstanchak@yahoo.com)
+" Last Change: 2006 July 25
+
+" 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
+
+" Read the C++ syntax to start with
+if version < 600
+ so <sfile>:p:h/cpp.vim
+else
+ runtime! syntax/cpp.vim
+ unlet b:current_syntax
+endif
+
+" SWIG extentions
+syn keyword swigDirective %typemap %define %apply %fragment %include %enddef %extend %newobject %name
+syn keyword swigDirective %rename %ignore %keyword %typemap %define %apply %fragment %include
+syn keyword swigDirective %enddef %extend %newobject %name %rename %ignore %template %module %constant
+syn match swigDirective "%\({\|}\)"
+syn match swigUserDef "%[-_a-zA-Z0-9]\+"
+
+" Default highlighting
+if version >= 508 || !exists("did_swig_syntax_inits")
+ if version < 508
+ let did_cpp_syntax_inits = 1
+ command -nargs=+ HiLink hi link <args>
+ else
+ command -nargs=+ HiLink hi def link <args>
+ endif
+ HiLink swigDirective Exception
+ HiLink swigUserDef PreProc
+ delcommand HiLink
+endif
+
+let b:current_syntax = "swig"
+
+" vim: ts=8
diff --git a/.vim/syntax/vala.vim b/.vim/syntax/vala.vim
new file mode 100644
index 0000000..a24a8e6
--- /dev/null
+++ b/.vim/syntax/vala.vim
@@ -0,0 +1,172 @@
+" Vim syntax file
+" Language: Vala
+" Maintainers: Emmanuele Bassi <ebassi@gnome.org>
+" Hans Vercammen <hveso3@gmail.com>
+" Last Change: 2008-12-07
+" Filenames: *.vala *.vapi
+"
+" REFERENCES:
+" [1] http://live.gnome.org/Vala
+"
+" TODO: Possibly when reaching vala 1.0 release
+" - validate code attributes
+" - better error checking for known errors
+" - full support for valadoc
+
+if exists("b:current_syntax")
+ finish
+endif
+
+let s:vala_cpo_save = &cpo
+set cpo&vim
+
+" Types
+syn keyword valaType bool char constpointer double float size_t ssize_t string unichar void
+syn keyword valaType int int8 int16 int32 int64 long short
+syn keyword valaType uint uint8 uint16 uint32 uint64 ulong ushort
+" Storage keywords
+syn keyword valaStorage class delegate enum errordomain interface namespace struct
+" repeat / condition / label
+syn keyword valaRepeat break continue do for foreach return while
+syn keyword valaConditional else if switch
+" User Labels
+syn keyword valaLabel case default
+
+" Modifiers
+syn keyword valaModifier abstract const dynamic ensures extern inline internal override
+syn keyword valaModifier private protected public requires signal static virtual volatile weak
+" Constants
+syn keyword valaConstant false null true
+" Exceptions
+syn keyword valaException try catch finally throw
+" Unspecified Statements
+syn keyword valaUnspecifiedStatement as base construct delete get in is lock new out params ref sizeof set this throws typeof using value var yield yields
+
+" Comments
+syn cluster valaCommentGroup contains=valaTodo
+syn keyword valaTodo contained TODO FIXME XXX NOTE
+
+" valadoc Comments (ported from javadoc comments in java.vim)
+" TODO: need to verify valadoc syntax
+if !exists("vala_ignore_valadoc")
+ syn cluster valaDocCommentGroup contains=valaDocTags,valaDocSeeTag
+ syn region valaDocTags contained start="{@\(link\|linkplain\|inherit[Dd]oc\|doc[rR]oot\|value\)" end="}"
+ syn match valaDocTags contained "@\(param\|exception\|throws\|since\)\s\+\S\+" contains=valaDocParam
+ syn match valaDocParam contained "\s\S\+"
+ syn match valaDocTags contained "@\(author\|brief\|version\|return\|deprecated\)\>"
+ syn region valaDocSeeTag contained matchgroup=valaDocTags start="@see\s\+" matchgroup=NONE end="\_."re=e-1 contains=valaDocSeeTagParam
+ syn match valaDocSeeTagParam contained @"\_[^"]\+"\|<a\s\+\_.\{-}</a>\|\(\k\|\.\)*\(#\k\+\((\_[^)]\+)\)\=\)\=@ extend
+endif
+
+" Comment Strings (ported from c.vim)
+if exists("vala_comment_strings")
+ syn match valaCommentSkip contained "^\s*\*\($\|\s\+\)"
+ syn region valaCommentString contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1 contains=valaSpecialChar,valaCommentSkip
+ syn region valaComment2String contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end="$" contains=valaSpecialChar
+ syn cluster valaCommentStringGroup contains=valaCommentString,valaCharacter,valaNumber
+
+ syn region valaCommentL start="//" end="$" keepend contains=@valaCommentGroup,valaComment2String,valaCharacter,valaNumber,valaSpaceError,@Spell
+ syn region valaComment matchgroup=valaCommentStart start="/\*" end="\*/" contains=@valaCommentGroup,@valaCommentStringGroup,valaCommentStartError,valaSpaceError,@Spell extend
+ if !exists("vala_ignore_valadoc")
+ syn region valaDocComment matchgroup=valaCommentStart start="/\*\*" end="\*/" keepend contains=@valaCommentGroup,@valaDocCommentGroup,@valaCommentStringGroup,valaCommentStartError,valaSpaceError,@Spell
+ endif
+else
+ syn region valaCommentL start="//" end="$" keepend contains=@valaCommentGroup,valaSpaceError,@Spell
+ syn region valaComment matchgroup=valaCommentStart start="/\*" end="\*/" contains=@valaCommentGroup,valaCommentStartError,valaSpaceError,@Spell
+ if !exists("vala_ignore_valadoc")
+ syn region valaDocComment matchgroup=valaCommentStart start="/\*\*" end="\*/" keepend contains=@valaCommentGroup,@valaDocCommentGroup,valaCommentStartError,valaSpaceError,@Spell
+ endif
+endif
+" match comment errors
+syntax match valaCommentError display "\*/"
+syntax match valaCommentStartError display "/\*"me=e-1 contained
+" match the special comment /**/
+syn match valaComment "/\*\*/"
+
+" Vala Code Attributes
+syn region valaAttribute start="^\s*\[" end="\]$" contains=valaComment,valaString keepend
+syn region valaAttribute start="\[CCode" end="\]" contains=valaComment,valaString
+
+" Avoid escaped keyword matching
+syn match valaUserContent display "@\I*"
+
+" Strings and constants
+syn match valaSpecialError contained "\\."
+syn match valaSpecialCharError contained "[^']"
+syn match valaSpecialChar contained +\\["\\'0abfnrtvx]+
+syn region valaString start=+"+ end=+"+ end=+$+ contains=valaSpecialChar,valaSpecialError,valaUnicodeNumber,@Spell
+syn region valaVerbatimString start=+"""+ end=+"""+ contains=@Spell
+syn match valaUnicodeNumber +\\\(u\x\{4}\|U\x\{8}\)+ contained contains=valaUnicodeSpecifier
+syn match valaUnicodeSpecifier +\\[uU]+ contained
+syn match valaCharacter "'[^']*'" contains=valaSpecialChar,valaSpecialCharError
+syn match valaCharacter "'\\''" contains=valaSpecialChar
+syn match valaCharacter "'[^\\]'"
+syn match valaNumber display "\<\(0[0-7]*\|0[xX]\x\+\|\d\+\)[lL]\=\>"
+syn match valaNumber display "\(\<\d\+\.\d*\|\.\d\+\)\([eE][-+]\=\d\+\)\=[fFdD]\="
+syn match valaNumber display "\<\d\+[eE][-+]\=\d\+[fFdD]\=\>"
+syn match valaNumber display "\<\d\+\([eE][-+]\=\d\+\)\=[fFdD]\>"
+
+" when wanted, highlight trailing white space
+if exists("vala_space_errors")
+ if !exists("vala_no_trail_space_error")
+ syn match valaSpaceError display excludenl "\s\+$"
+ endif
+ if !exists("vala_no_tab_space_error")
+ syn match valaSpaceError display " \+\t"me=e-1
+ endif
+endif
+
+" when wanted, set minimum lines for comment syntax syncing
+if exists("vala_minlines")
+ let b:vala_minlines = vala_minlines
+else
+ let b:vala_minlines = 50
+endif
+exec "syn sync ccomment valaComment minlines=" . b:vala_minlines
+
+" The default highlighting.
+hi def link valaType Type
+hi def link valaStorage StorageClass
+hi def link valaRepeat Repeat
+hi def link valaConditional Conditional
+hi def link valaLabel Label
+hi def link valaModifier StorageClass
+hi def link valaConstant Constant
+hi def link valaException Exception
+hi def link valaUnspecifiedStatement Statement
+hi def link valaUnspecifiedKeyword Keyword
+hi def link valaContextualStatement Statement
+
+hi def link valaCommentError Error
+hi def link valaCommentStartError Error
+hi def link valaSpecialError Error
+hi def link valaSpecialCharError Error
+hi def link valaSpaceError Error
+
+hi def link valaTodo Todo
+hi def link valaCommentL valaComment
+hi def link valaCommentStart valaComment
+hi def link valaCommentSkip valaComment
+hi def link valaComment Comment
+hi def link valaDocComment Comment
+hi def link valaDocTags Special
+hi def link valaDocParam Function
+hi def link valaDocSeeTagParam Function
+hi def link valaAttribute PreCondit
+
+hi def link valaCommentString valaString
+hi def link valaComment2String valaString
+hi def link valaString String
+hi def link valaVerbatimString String
+hi def link valaCharacter Character
+hi def link valaSpecialChar SpecialChar
+hi def link valaNumber Number
+hi def link valaUnicodeNumber SpecialChar
+hi def link valaUnicodeSpecifier SpecialChar
+
+let b:current_syntax = "vala"
+
+let &cpo = s:vala_cpo_save
+unlet s:vala_cpo_save
+
+" vim: ts=8