Update runtime files.
diff --git a/runtime/syntax/cs.vim b/runtime/syntax/cs.vim
index 2ba629f..111bc85 100644
--- a/runtime/syntax/cs.vim
+++ b/runtime/syntax/cs.vim
@@ -1,10 +1,12 @@
 " Vim syntax file
-" Language:	C#
-" Maintainer:	Anduin Withers <awithers@anduin.com>
+" Language:		C#
+" Maintainer:		Nick Jensen <nickspoon@gmail.com>
+" Former Maintainer:	Anduin Withers <awithers@anduin.com>
 " Former Maintainer:	Johannes Zellner <johannes@zellner.org>
-" Last Change:	Fri Aug 14 13:56:37 PDT 2009
-" Filenames:	*.cs
-" $Id: cs.vim,v 1.4 2006/05/03 21:20:02 vimboss Exp $
+" Last Change:		2018-05-02
+" Filenames:		*.cs
+" License:		Vim (see :h license)
+" Repository:		https://github.com/nickspoons/vim-cs
 "
 " REFERENCES:
 " [1] ECMA TC39: C# Language Specification (WD13Oct01.doc)
@@ -17,11 +19,8 @@
 set cpo&vim
 
 
-" type
-syn keyword csType			bool byte char decimal double float int long object sbyte short string uint ulong ushort void
-" storage
-syn keyword csStorage			class delegate enum interface namespace struct
-" repeat / condition / label
+syn keyword csType			bool byte char decimal double float int long object sbyte short string T uint ulong ushort var void dynamic
+syn keyword csStorage			delegate enum interface namespace struct
 syn keyword csRepeat			break continue do for foreach goto return while
 syn keyword csConditional		else if switch
 syn keyword csLabel			case default
@@ -29,21 +28,16 @@
 syn match csOperatorError		display +::+
 " user labels (see [1] 8.6 Statements)
 syn match   csLabel			display +^\s*\I\i*\s*:\([^:]\)\@=+
-" modifier
 syn keyword csModifier			abstract const extern internal override private protected public readonly sealed static virtual volatile
-" constant
 syn keyword csConstant			false null true
-" exception
-syn keyword csException			try catch finally throw
+syn keyword csException			try catch finally throw when
+syn keyword csLinq			ascending by descending equals from group in into join let on orderby select where
+syn keyword csAsync			async await
 
-" TODO:
-syn keyword csUnspecifiedStatement	as base checked event fixed in is lock new operator out params ref sizeof stackalloc this typeof unchecked unsafe using
-" TODO:
+syn keyword csUnspecifiedStatement	as base checked event fixed get in is lock nameof operator out params ref set sizeof stackalloc this typeof unchecked unsafe using
 syn keyword csUnsupportedStatement	add remove value
-" TODO:
 syn keyword csUnspecifiedKeyword	explicit implicit
 
-
 " Contextual Keywords
 syn match csContextualStatement	/\<yield[[:space:]\n]\+\(return\|break\)/me=s+5
 syn match csContextualStatement	/\<partial[[:space:]\n]\+\(class\|struct\|interface\)/me=s+7
@@ -56,7 +50,7 @@
 "
 " TODO: include strings ?
 "
-syn keyword csTodo		contained TODO FIXME XXX NOTE
+syn keyword csTodo		contained TODO FIXME XXX NOTE HACK
 syn region  csComment		start="/\*"  end="\*/" contains=@csCommentHook,csTodo,@Spell
 syn match   csComment		"//.*$" contains=@csCommentHook,csTodo,@Spell
 
@@ -89,8 +83,15 @@
     \ skip="\\$" end="$" contains=csComment keepend
 syn region	csRegion matchgroup=csPreCondit start="^\s*#\s*region.*$"
     \ end="^\s*#\s*endregion" transparent fold contains=TOP
+syn region	csSummary start="^\s*/// <summary" end="^\(\s*///\)\@!" transparent fold keepend
 
 
+syn region	csClassType start="\(@\)\@<!class\>"hs=s+6 end="[:\n{]"he=e-1 contains=csClass
+syn region	csNewType start="\(@\)\@<!new\>"hs=s+4 end="[\(\<{\[]"he=e-1 contains=csNew contains=csNewType
+syn region	csIsType start="\v (is|as) "hs=s+4 end="\v[A-Za-z0-9]+" oneline contains=csIsAs
+syn keyword	csNew new contained
+syn keyword	csClass class contained
+syn keyword	csIsAs is as
 
 " Strings and constants
 syn match   csSpecialError	contained "\\."
@@ -113,7 +114,11 @@
 
 " The default highlighting.
 hi def link csType			Type
+hi def link csNewType			Type
+hi def link csClassType			Type
+hi def link csIsType			Type
 hi def link csStorage			StorageClass
+hi def link csClass			StorageClass
 hi def link csRepeat			Repeat
 hi def link csConditional		Conditional
 hi def link csLabel			Label
@@ -123,8 +128,13 @@
 hi def link csUnspecifiedStatement	Statement
 hi def link csUnsupportedStatement	Statement
 hi def link csUnspecifiedKeyword	Keyword
+hi def link csNew			Statement
+hi def link csLinq			Statement
+hi def link csIsAs 			Keyword
+hi def link csAsync			Keyword
 hi def link csContextualStatement	Statement
 hi def link csOperatorError		Error
+hi def link csInterfaceDeclaration	Include
 
 hi def link csTodo			Todo
 hi def link csComment			Comment