codekingpro/portable-devtools
114k
1" Vim syntax file2" Language: MS IDL (Microsoft dialect of Interface Description Language)3" Maintainer: Vadim Zeitlin <vadim@wxwindows.org>4" Last Change: 2012 Feb 12 by Thilo Six5 6" quit when a syntax file was already loaded7if exists("b:current_syntax")8 finish9endif10 11let s:cpo_save = &cpo12set cpo&vim13 14" Misc basic15syn match msidlId "[a-zA-Z][a-zA-Z0-9_]*"16syn match msidlUUID "{\?[[:xdigit:]]\{8}-\([[:xdigit:]]\{4}-\)\{3}[[:xdigit:]]\{12}}\?"17syn region msidlString start=/"/ skip=/\\\(\\\\\)*"/ end=/"/18syn match msidlLiteral "\d\+\(\.\d*\)\="19syn match msidlLiteral "\.\d\+"20syn match msidlSpecial contained "[]\[{}:]"21 22" Comments23syn keyword msidlTodo contained TODO FIXME XXX24syn region msidlComment start="/\*" end="\*/" contains=msidlTodo25syn match msidlComment "//.*" contains=msidlTodo26syn match msidlCommentError "\*/"27 28" C style Preprocessor29syn region msidlIncluded contained start=+"+ skip=+\\\(\\\\\)*"+ end=+"+30syn match msidlIncluded contained "<[^>]*>"31syn match msidlInclude "^[ \t]*#[ \t]*include\>[ \t]*["<]" contains=msidlIncluded,msidlString32syn region msidlPreCondit start="^[ \t]*#[ \t]*\(if\>\|ifdef\>\|ifndef\>\|elif\>\|else\>\|endif\>\)" skip="\\$" end="$" contains=msidlComment,msidlCommentError33syn region msidlDefine start="^[ \t]*#[ \t]*\(define\>\|undef\>\)" skip="\\$" end="$" contains=msidlLiteral, msidlString34 35" Attributes36syn keyword msidlAttribute contained in out propget propput propputref retval37syn keyword msidlAttribute contained aggregatable appobject binadable coclass control custom default defaultbind defaultcollelem defaultvalue defaultvtable dispinterface displaybind dual entry helpcontext helpfile helpstring helpstringdll hidden id immediatebind lcid library licensed nonbrowsable noncreatable nonextensible oleautomation optional object public readonly requestedit restricted source string uidefault usesgetlasterror vararg version38syn match msidlAttribute /uuid(.*)/he=s+4 contains=msidlUUID39syn match msidlAttribute /helpstring(.*)/he=s+10 contains=msidlString40syn region msidlAttributes start="\[" end="]" keepend contains=msidlSpecial,msidlString,msidlAttribute,msidlComment,msidlCommentError41 42" Keywords43syn keyword msidlEnum enum44syn keyword msidlImport import importlib45syn keyword msidlStruct interface library coclass46syn keyword msidlTypedef typedef47 48" Types49syn keyword msidlStandardType byte char double float hyper int long short void wchar_t50syn keyword msidlStandardType BOOL BSTR HRESULT VARIANT VARIANT_BOOL51syn region msidlSafeArray start="SAFEARRAY(" end=")" contains=msidlStandardType52 53syn sync lines=5054 55" Define the default highlighting.56" Only when an item doesn't have highlighting yet57 58hi def link msidlInclude Include59hi def link msidlPreProc PreProc60hi def link msidlPreCondit PreCondit61hi def link msidlDefine Macro62hi def link msidlIncluded String63hi def link msidlString String64hi def link msidlComment Comment65hi def link msidlTodo Todo66hi def link msidlSpecial SpecialChar67hi def link msidlLiteral Number68hi def link msidlUUID Number69 70hi def link msidlImport Include71hi def link msidlEnum StorageClass72hi def link msidlStruct Structure73hi def link msidlTypedef Typedef74hi def link msidlAttribute StorageClass75 76hi def link msidlStandardType Type77hi def link msidlSafeArray Type78 79 80let b:current_syntax = "msidl"81 82let &cpo = s:cpo_save83unlet s:cpo_save84" vi: set ts=8 sw=4:85 