annotate runtime/syntax/msidl.vim @ 0:76efa0be13f1

Initial revision
author atsuki
date Sat, 10 Nov 2007 15:07:22 +0900
parents
children 67300faee616
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
1 " Vim syntax file
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
2 " Language: MS IDL (Microsoft dialect of Interface Description Language)
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
3 " Maintainer: Vadim Zeitlin <vadim@wxwindows.org>
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
4 " Last Change: 2003 May 11
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
5
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
6 " For version 5.x: Clear all syntax items
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
7 " For version 6.x: Quit when a syntax file was already loaded
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
8 if version < 600
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
9 syntax clear
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
10 elseif exists("b:current_syntax")
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
11 finish
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
12 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
13
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
14 " Misc basic
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
15 syn match msidlId "[a-zA-Z][a-zA-Z0-9_]*"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
16 syn match msidlUUID "{\?[[:xdigit:]]\{8}-\([[:xdigit:]]\{4}-\)\{3}[[:xdigit:]]\{12}}\?"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
17 syn region msidlString start=/"/ skip=/\\\(\\\\\)*"/ end=/"/
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
18 syn match msidlLiteral "\d\+\(\.\d*\)\="
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
19 syn match msidlLiteral "\.\d\+"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
20 syn match msidlSpecial contained "[]\[{}:]"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
21
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
22 " Comments
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
23 syn keyword msidlTodo contained TODO FIXME XXX
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
24 syn region msidlComment start="/\*" end="\*/" contains=msidlTodo
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
25 syn match msidlComment "//.*" contains=msidlTodo
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
26 syn match msidlCommentError "\*/"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
27
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
28 " C style Preprocessor
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
29 syn region msidlIncluded contained start=+"+ skip=+\\\(\\\\\)*"+ end=+"+
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
30 syn match msidlIncluded contained "<[^>]*>"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
31 syn match msidlInclude "^[ \t]*#[ \t]*include\>[ \t]*["<]" contains=msidlIncluded,msidlString
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
32 syn region msidlPreCondit start="^[ \t]*#[ \t]*\(if\>\|ifdef\>\|ifndef\>\|elif\>\|else\>\|endif\>\)" skip="\\$" end="$" contains=msidlComment,msidlCommentError
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
33 syn region msidlDefine start="^[ \t]*#[ \t]*\(define\>\|undef\>\)" skip="\\$" end="$" contains=msidlLiteral, msidlString
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
34
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
35 " Attributes
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
36 syn keyword msidlAttribute contained in out propget propput propputref retval
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
37 syn 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 version
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
38 syn match msidlAttribute /uuid(.*)/he=s+4 contains=msidlUUID
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
39 syn match msidlAttribute /helpstring(.*)/he=s+10 contains=msidlString
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
40 syn region msidlAttributes start="\[" end="]" keepend contains=msidlSpecial,msidlString,msidlAttribute,msidlComment,msidlCommentError
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
41
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
42 " Keywords
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
43 syn keyword msidlEnum enum
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
44 syn keyword msidlImport import importlib
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
45 syn keyword msidlStruct interface library coclass
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
46 syn keyword msidlTypedef typedef
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
47
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
48 " Types
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
49 syn keyword msidlStandardType byte char double float hyper int long short void wchar_t
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
50 syn keyword msidlStandardType BOOL BSTR HRESULT VARIANT VARIANT_BOOL
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
51 syn region msidlSafeArray start="SAFEARRAY(" end=")" contains=msidlStandardType
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
52
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
53 syn sync lines=50
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
54
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
55 " Define the default highlighting.
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
56 " For version 5.7 and earlier: only when not done already
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
57 " For version 5.8 and later: only when an item doesn't have highlighting yet
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
58 if version >= 508 || !exists("did_msidl_syntax_inits")
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
59 if version < 508
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
60 let did_msidl_syntax_inits = 1
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
61 command -nargs=+ HiLink hi link <args>
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
62 else
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
63 command -nargs=+ HiLink hi def link <args>
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
64 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
65
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
66 HiLink msidlInclude Include
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
67 HiLink msidlPreProc PreProc
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
68 HiLink msidlPreCondit PreCondit
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
69 HiLink msidlDefine Macro
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
70 HiLink msidlIncluded String
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
71 HiLink msidlString String
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
72 HiLink msidlComment Comment
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
73 HiLink msidlTodo Todo
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
74 HiLink msidlSpecial SpecialChar
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
75 HiLink msidlLiteral Number
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
76 HiLink msidlUUID Number
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
77
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
78 HiLink msidlImport Include
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
79 HiLink msidlEnum StorageClass
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
80 HiLink msidlStruct Structure
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
81 HiLink msidlTypedef Typedef
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
82 HiLink msidlAttribute StorageClass
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
83
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
84 HiLink msidlStandardType Type
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
85 HiLink msidlSafeArray Type
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
86
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
87 delcommand HiLink
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
88 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
89
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
90 let b:current_syntax = "msidl"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
91
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
92 " vi: set ts=8 sw=4: