microsoft_idl.xs.svn-base

来自「支持自定义语法高亮显示的编辑器控件」· SVN-BASE 代码 · 共 230 行

SVN-BASE
230
字号
//Language: Microsoft IDL
//Copyright (c) 1992-2002 Altium Limited             
//All rights reserved.                               
//http://www.dream-com.com                           
//contact@dream-com.com                              

// states
State=snormal
State=sstring1
State=sstring2
State=sstring3
State=scomment1
State=scomment2
State=sdirective
// tokens
Token=tnone
Token=tstring
Token=tcomment
Token=tident
Token=tinteger
Token=tfloat
Token=tresword
Token=tassembler
Token=turl
Token=twhitespace
Token=tdirective
//delims
Delimiters=;.,:'"{}[]()?!@#$%^&*-+=|\/

// reswords
snormal '__int3264'          snormal tresword
snormal '__int64'            snormal tresword
snormal 'aggregatable'       snormal tresword
snormal 'allocate'           snormal tresword
snormal 'appobject'          snormal tresword
snormal 'arrays'             snormal tresword
snormal 'async'              snormal tresword
snormal 'async_uuid'         snormal tresword
snormal 'auto_handle'        snormal tresword
snormal 'bindable'           snormal tresword
snormal 'boolean'            snormal tresword
snormal 'broadcast'          snormal tresword
snormal 'byte'               snormal tresword
snormal 'byte_count'         snormal tresword
snormal 'call_as'            snormal tresword
snormal 'callback'           snormal tresword
snormal 'char'               snormal tresword
snormal 'coclass'            snormal tresword
snormal 'code'               snormal tresword
snormal 'comm_status'        snormal tresword
snormal 'const'              snormal tresword
snormal 'context_handle'     snormal tresword
snormal 'context_handle_noserialize' snormal tresword
snormal 'context_handle_serialize'   snormal tresword
snormal 'control'            snormal tresword
snormal 'cpp_quote'          snormal tresword
snormal 'custom'             snormal tresword
snormal 'decode'             snormal tresword
snormal 'default'            snormal tresword
snormal 'defaultbind'        snormal tresword
snormal 'defaultcollelem'    snormal tresword
snormal 'defaultvalue'       snormal tresword
snormal 'defaultvtable'      snormal tresword
snormal 'dispinterface'      snormal tresword
snormal 'displaybind'        snormal tresword
snormal 'dllname'            snormal tresword
snormal 'double'             snormal tresword
snormal 'dual'               snormal tresword
snormal 'enable_allocate'    snormal tresword
snormal 'encode'             snormal tresword
snormal 'endpoint'           snormal tresword
snormal 'entry'              snormal tresword
snormal 'enum'               snormal tresword
snormal 'error_status_t'     snormal tresword
snormal 'explicit_handle'    snormal tresword
snormal 'fault_status'       snormal tresword
snormal 'first_is'           snormal tresword
snormal 'float'              snormal tresword
snormal 'handle'             snormal tresword
snormal 'handle_t'           snormal tresword
snormal 'heap'               snormal tresword
snormal 'helpcontext'        snormal tresword
snormal 'helpfile'           snormal tresword
snormal 'helpstring'         snormal tresword
snormal 'helpstringcontext'  snormal tresword
snormal 'helpstringdll'      snormal tresword
snormal 'hidden'             snormal tresword
snormal 'hyper'              snormal tresword
snormal 'id'                 snormal tresword
snormal 'idempotent'         snormal tresword
snormal 'ignore'             snormal tresword
snormal 'iid_is'             snormal tresword
snormal 'immediatebind'      snormal tresword
snormal 'implicit_handle'    snormal tresword
snormal 'import'             snormal tresword
snormal 'importlib'          snormal tresword
snormal 'in'                 snormal tresword
snormal 'in_line'            snormal tresword
snormal 'include'            snormal tresword
snormal 'int'                snormal tresword
snormal 'interface'          snormal tresword
snormal 'last_is'            snormal tresword
snormal 'lcid'               snormal tresword
snormal 'length_is'          snormal tresword
snormal 'library'            snormal tresword
snormal 'licensed'           snormal tresword
snormal 'local'              snormal tresword
snormal 'long'               snormal tresword
snormal 'max_is'             snormal tresword
snormal 'maybe'              snormal tresword
snormal 'message'            snormal tresword
snormal 'midl_pragma'        snormal tresword
snormal 'midl_user_allocate' snormal tresword
snormal 'midl_user_free'     snormal tresword
snormal 'min_is'             snormal tresword
snormal 'module'             snormal tresword
snormal 'ms_union'           snormal tresword
snormal 'ncacn_at_dsp'       snormal tresword
snormal 'ncacn_dnet_nsp'     snormal tresword
snormal 'ncacn_http'         snormal tresword
snormal 'ncacn_ip_tcp'       snormal tresword
snormal 'ncacn_nb_ipx'       snormal tresword
snormal 'ncacn_nb_nb'        snormal tresword
snormal 'ncacn_nb_tcp'       snormal tresword
snormal 'ncacn_np'           snormal tresword
snormal 'ncacn_spx'          snormal tresword
snormal 'ncacn_vns_spp'      snormal tresword
snormal 'ncadg_ip_udp'       snormal tresword
snormal 'ncadg_ipx'          snormal tresword
snormal 'ncadg_mq'           snormal tresword
snormal 'ncalrpc'            snormal tresword
snormal 'nocode'             snormal tresword
snormal 'nonbrowsable'       snormal tresword
snormal 'noncreatable'       snormal tresword
snormal 'nonextensible'      snormal tresword
snormal 'notify'             snormal tresword
snormal 'object'             snormal tresword
snormal 'odl'                snormal tresword
snormal 'oleautomation'      snormal tresword
snormal 'optimize'           snormal tresword
snormal 'optional'           snormal tresword
snormal 'out'                snormal tresword
snormal 'out_of_line'        snormal tresword
snormal 'pipe'               snormal tresword
snormal 'pointer_default'    snormal tresword
snormal 'propget'            snormal tresword
snormal 'propput'            snormal tresword
snormal 'propputref'         snormal tresword
snormal 'ptr'                snormal tresword
snormal 'public'             snormal tresword
snormal 'range'              snormal tresword
snormal 'readonly'           snormal tresword
snormal 'ref'                snormal tresword
snormal 'represent_as'       snormal tresword
snormal 'requestedit'        snormal tresword
snormal 'restricted'         snormal tresword
snormal 'retval'             snormal tresword
snormal 'shape'              snormal tresword
snormal 'short'              snormal tresword
snormal 'signed'             snormal tresword
snormal 'size_is'            snormal tresword
snormal 'small'              snormal tresword
snormal 'source'             snormal tresword
snormal 'strict_context_handle' snormal tresword
snormal 'string'             snormal tresword
snormal 'struct'             snormal tresword
snormal 'switch'             snormal tresword
snormal 'switch_is'          snormal tresword
snormal 'switch_type'        snormal tresword
snormal 'transmit_as'        snormal tresword
snormal 'typedef'            snormal tresword
snormal 'uidefault'          snormal tresword
snormal 'union'              snormal tresword
snormal 'unique'             snormal tresword
snormal 'unsigned'           snormal tresword
snormal 'user_marshal'       snormal tresword
snormal 'usesgetlasterror'   snormal tresword
//snormal 'uuid'               snormal tresword
snormal 'v1_enum'            snormal tresword
snormal 'vararg'             snormal tresword
snormal 'version'            snormal tresword
snormal 'void'               snormal tresword
snormal 'warning'            snormal tresword
snormal 'wchar_t'            snormal tresword
snormal 'wire_marshal'       snormal tresword

// numbers
snormal [1-9][0-9]*                            snormal  tinteger
snormal \0x[0-9A_F]+                           snormal  tinteger
snormal \0X[0-9A_F]+                           snormal  tinteger
snormal [1-9][0-9]*\.[0-9]*                    snormal  tfloat
snormal [1-9][0-9]*{\.[0-9]+}|e{[\+\-]}|[0-9]+ snormal  tfloat

//idents
snormal   [a-z_A-Z][a-z_A-Z0-9]*  snormal   tident

//white space
snormal #32*                      snormal   twhitespace

//comments
snormal    //                      scomment1 tcomment
scomment1  [#1-#255]*              snormal   tcomment
scomment1  $                       snormal   tcomment

snormal   /\*                     scomment2 tcomment
scomment2 [^\*]*                  scomment2 tcomment
scomment2 \*[^/]                  scomment2 tcomment
scomment3 [\*]*/                  snormal   tcomment

//strings
snormal    \"                     sstring1   tstring
sstring1   [^\"]*                 sstring1   tstring
sstring1   \"                     snormal    tstring
sstring1   $                      snormal    tstring

snormal    {uuid\(}               sstring2   tresword
sstring2   [^\)]*                 sstring2   tresword
sstring2   \)                     snormal    tresword
sstring2   $                      snormal    tresword

snormal    {uuid#32\(}            sstring3   tresword
sstring3   [^\)]*                 sstring3   tresword
sstring3   \)                     snormal    tresword
sstring3   $                      snormal    tresword

//directives
snormal  \#                       sdirective tdirective
sdirective [#1-#255]*             snormal    tdirective
sdirective $                      snormal    tdirective

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?