blob: e5a0b0b56fc4a7a06167dafff0c6a8456193abda [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: rpcgen
Christian Brabandtf9ca1392024-02-19 20:37:11 +01003" Maintainer: This runtime file is looking for a new maintainer.
4" Former Maintainer: Charles E. Campbell
Bram Moolenaarf37506f2016-08-31 22:22:10 +02005" Last Change: Aug 31, 2016
Christian Brabandtf9ca1392024-02-19 20:37:11 +01006" 2024 Feb 19 by Vim Project (announce adoption)
Bram Moolenaar1d9215b2020-01-25 13:27:42 +01007" Version: 13
Christian Brabandtf9ca1392024-02-19 20:37:11 +01008" Former URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_RPCGEN
Bram Moolenaar071d4272004-06-13 20:20:40 +00009
Bram Moolenaar9da7ff72015-01-14 12:52:36 +010010if exists("b:current_syntax")
Bram Moolenaar071d4272004-06-13 20:20:40 +000011 finish
12endif
13
14" Read the C syntax to start with
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020015runtime! syntax/c.vim
Bram Moolenaar071d4272004-06-13 20:20:40 +000016
17syn keyword rpcProgram program skipnl skipwhite nextgroup=rpcProgName
18syn match rpcProgName contained "\<\i\I*\>" skipnl skipwhite nextgroup=rpcProgZone
19syn region rpcProgZone contained matchgroup=Delimiter start="{" matchgroup=Delimiter end="}\s*=\s*\(\d\+\|0x[23]\x\{7}\)\s*;"me=e-1 contains=rpcVersion,cComment,rpcProgNmbrErr
20syn keyword rpcVersion contained version skipnl skipwhite nextgroup=rpcVersName
21syn match rpcVersName contained "\<\i\I*\>" skipnl skipwhite nextgroup=rpcVersZone
22syn region rpcVersZone contained matchgroup=Delimiter start="{" matchgroup=Delimiter end="}\s*=\s*\d\+\s*;"me=e-1 contains=cType,cStructure,cStorageClass,rpcDecl,rpcProcNmbr,cComment
23syn keyword rpcDecl contained string
24syn match rpcProcNmbr contained "=\s*\d\+;"me=e-1
25syn match rpcProgNmbrErr contained "=\s*0x[^23]\x*"ms=s+1
26syn match rpcPassThru "^\s*%.*$"
27
28" Define the default highlighting.
Bram Moolenaarf37506f2016-08-31 22:22:10 +020029if !exists("skip_rpcgen_syntax_inits")
Bram Moolenaar071d4272004-06-13 20:20:40 +000030
Bram Moolenaarf37506f2016-08-31 22:22:10 +020031 hi def link rpcProgName rpcName
32 hi def link rpcProgram rpcStatement
33 hi def link rpcVersName rpcName
34 hi def link rpcVersion rpcStatement
Bram Moolenaar071d4272004-06-13 20:20:40 +000035
Bram Moolenaarf37506f2016-08-31 22:22:10 +020036 hi def link rpcDecl cType
37 hi def link rpcPassThru cComment
Bram Moolenaar071d4272004-06-13 20:20:40 +000038
Bram Moolenaarf37506f2016-08-31 22:22:10 +020039 hi def link rpcName Special
40 hi def link rpcProcNmbr Delimiter
41 hi def link rpcProgNmbrErr Error
42 hi def link rpcStatement Statement
Bram Moolenaar071d4272004-06-13 20:20:40 +000043
Bram Moolenaarf37506f2016-08-31 22:22:10 +020044endif
Bram Moolenaar071d4272004-06-13 20:20:40 +000045
46let b:current_syntax = "rpcgen"
47
48" vim: ts=8