[Mono-list] vim syntax file

Dan Nedelko dan@genuinemedia.com
Wed, 27 Mar 2002 11:42:10 -0600


This is a multi-part message in MIME format.
--------------000600030701070705040102
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

Hi all,

For those who prefer hacking in vim, here's a syntax file for you all. :)

Dan Nedelko

--------------000600030701070705040102
Content-Type: text/plain;
 name="cs.vim"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="cs.vim"

" Vim syntax file
" Language:	C#
" Maintainer:	Robert Hicks <bobhicks@adelphia.net>
" Last change:	2001-10-05
"
" Notice: Just keeping it warm until someone takes it over
" from me.

" 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 match csharpError "[\\@`]"
syn match csharpError "<<<\|\.\.\|=>\|<>\|||=\|&&=\|[^-]->\|\*\/"
syn keyword csharpConditional 	if else switch case default
syn keyword csharpRepeat	while for foreach do goto in
syn keyword csharpBoolean	true false
syn keyword csharpConst		null
syn keyword csharpTypedef	this base
syn match csharpOperator "{\|}\|\[\|\]\|(\|)\|-\|--\|+\|++\|=\|==\|!=\|<\|<=\|<<\|<<<\|>>\|>>>\|>=\|>\|&\|&&\|&=\|||\||\||=\|\\\|\\=\|\*\|\*=\|->\|%\|%=\|;\|,\|\.\|+=\|-=" 	
syn keyword csharpDirectional	out ref
syn keyword csharpType		bool byte char decimal double enum float int long sbyte short sizeof string uint ulong ushort void 
syn keyword csharpStatement	return  internal typeof lock new operator object
syn keyword csharpClass		class interface namespace struct override
syn keyword csharpProperties	get set
syn keyword csharpException	try catch throw finally 
syn keyword csharpScope		public private protected abstract
syn keyword csharpBranch          break continue nextgroup=csharpUserLabelRef skipwhite
syn match   csharpUserLabelRef    "\k\+" contained
syn keyword csharpTypecast	as is
syn keyword csharpTypeConvertDecl	explicit implicit
syn keyword csharpStorageClass	static const delegate event extern fixed checked  unchecked sealed stackalloc virtual readonly unsafe params
syn keyword csharpExternal	namespace using
syn keyword csharpPreproc	#if #else #elif #endif #define #undef #warning #error #line #region #endregion

syn keyword csharpSystemClass   AccessException Activator AppDomain AppDomainFlags AppDomainUnloadedException AppDomainUnloadInProgressException ApplicationException ArgumentException ArgumentNullException ArgumentOutOfRangeException ArithmeticException Array 
syn keyword csharpSystemClass   ArrayTypeMismatchException Attribute AttributeUsageAttribute BadImageFormatException BitConverter Buffer CallContext CLSCompliantAttribute Console ContextBoundObject ContextMarshalException ContextStaticAttribute   Convert
syn keyword csharpSystemClass  CoreException DBNull Delegate DivideByZeroException DuplicateWaitObjectException Empty EntryPointNotFoundException Enum Environment EventArgs Exception ExecutionEngineException FieldAccessException FlagsAttribute Bitfeilds
syn keyword csharpSystemClass FormatException IndexOutOfRangeException InvalidCastException InvalidOperationException LocalDataStore LocalDataStoreMgr LocalDataStoreSlot LogicalCallContext MarshalByRefObject Math MethodAccessException MissingFieldException
syn keyword csharpSystemClass MissingMemberException MissingMethodException MulticastDelegate MulticastNotSupportedException NonSerializedAttribute NotFiniteNumberException NotImplementedException NotSupportedException NullReferenceException Object ObsoleteAttribute
syn keyword csharpSystemClass OperatingSystem OutOfMemoryException OverflowException ParamArrayAttribute Radix Random RankException SerializableAttribute StackOverflowException String SystemException ThreadStaticAttribute TimeZone Type TypeInitializationException
syn keyword csharpSystemClass TypeLoadException TypeUnloadedException UnhandledExceptionEvent Value ValueType Version WeakReference WeakReferenceException 

syn keyword csharpSystemInterface IAsyncResult   ICloneable IComparable IConvertible ICustomFormatter IFormattable ILogicalThreadAffinative IServiceObjectProvider
syn keyword csharpSystemValueType  ArgIterator Boolean Byte Char Currency DateTime Decimal Double Guid Int16 Int32 Int64 ParamArray RuntimeArgumentHandle RuntimeFieldHandle RuntimeMethodHandle RuntimeTypeHandle SByte Single TimeSpan TypedReference UInt16 UInt32 UInt64 Void

syn keyword csharpSystemDelegate  AsyncCallback EventHandler UnhandledExceptionEventHandler
syn keyword csharpSystemEnum 	AttributeTargets PlatformID TypeCode

syn match   csharpSpecialError     contained "\\."
syn match   csharpSpecialCharError contained "[^']"
syn match   csharpSpecialChar      contained "\\\([4-9]\d\|[0-3]\d\d\|[\"\\'ntbrf]\|u\x\{4\}\)"
syn region   csharpString          start=+"+ end=+"+ end=+$+ contains=csharpSpecialChar,csharpSpecialError,@Spell
syn match   csharpStringError      +"\([^"\\]\|\\.\)*$+
syn match   csharpCharacter        "'[^']*'" contains=csharpSpecialChar,csharpSpecialCharError
syn match   csharpCharacter        "'\\''" contains=csharpSpecialChar
syn match   csharpCharacter        "'[^\\]'"
syn match   csharpNumber           "\<\(0[0-7]*\|0[xX]\x\+\|\d\+\)[lL]\=\>"
syn match   csharpNumber           "\(\<\d\+\.\d*\|\.\d\+\)\([eE][-+]\=\d\+\)\=[fFdD]\="
syn match   csharpNumber           "\<\d\+[eE][-+]\=\d\+[fFdD]\=\>"
syn match   csharpNumber           "\<\d\+\([eE][-+]\=\d\+\)\=[fFdD]\>"

" unicode characters
syn match   csharpSpecial "\\u\d\{4\}"

syn cluster csharpTop add=csharpString,csharpCharacter,csharpNumber,csharpSpecial,csharpStringError

" Comments
syn keyword csharpTodo             contained TODO FIXME XXX
syn region  csharpCommentString    contained start=+"+ end=+"+ end=+$+ end=+\*/+me=s-1,he=s-1 contains=csharpSpecial,csharpCommentStar,csharpSpecialChar,@Spell
syn region  csharpComment2String   contained start=+"+  end=+$\|"+  contains=csharpSpecial,csharpSpecialChar,@Spell
syn match   csharpCommentCharacter contained "'\\[^']\{1,6\}'" contains=csharpSpecialChar
syn match   csharpCommentCharacter contained "'\\''" contains=csharpSpecialChar
syn match   csharpCommentCharacter contained "'[^\\]'"
syn region  csharpComment          start="/\*"  end="\*/" contains=csharpCommentString,csharpCommentCharacter,csharpNumber,csharpTodo,@Spell
syn match   csharpCommentStar      contained "^\s*\*[^/]"me=e-1
syn match   csharpCommentStar      contained "^\s*\*$"
syn match   csharpLineComment      "//.*" contains=csharpComment2String,csharpCommentCharacter,csharpNumber,csharpTodo,@Spell

hi link csharpCommentString csharpString
hi link csharpComment2String csharpString
hi link csharpCommentCharacter csharpCharacter

if !exists("did_csharp_syntax_inits")
    let did_csharp_syntax_inits=1
    hi link csharpConditional Conditional
    hi link csharpError	Error
    hi link csharpRepeat Repeat
    hi link csharpBoolean Boolean
    hi link csharpConst Constant
    hi link csharpTypedef Typedef
    hi link csharpOperator Operator
    hi link csharpDirectional Operator
    hi link csharpType	Type
    hi link csharpStatement statement
    hi link csharpClass Type
    hi link csharpException Exception
    hi link csharpScope	Statement
    hi link csharpBranch Keyword
    hi link csharpUserLabelRef label
    hi link csharpTypecast statement
    hi link csharpStorageClass StorageClass
    hi link csharpExternal preproc
    hi link csharpPreproc preproc
    hi link csharpSpecialError error
    hi link csharpString string
    hi link csharpCharacter	string
    hi link csharpComment Comment
    hi link csharpLineComment Comment
    hi link csharpProperties Operator
    hi link csharpTypeConvertDecl Operator
    hi link csharpSystemClass  StorageClass
    hi link csharpSystemInterface Statement
    hi link csharpSystemValueType Type
    hi link csharpSystemDelegate Statement
    hi link csharpSystemEnum  statement
    hi csharpProperties gui=italic 
endif
let b:current_syntax="csharp"

" vim: ts=8

--------------000600030701070705040102--