xref: /vim-8.2.3635/runtime/syntax/virata.vim (revision f37506f6)
1071d4279SBram Moolenaar" Vim syntax file
2071d4279SBram Moolenaar" Language:	Virata AConfig Configuration Script
3071d4279SBram Moolenaar" Maintainer:	Manuel M.H. Stol	<[email protected]>
4071d4279SBram Moolenaar" Last Change:	2003 May 11
5071d4279SBram Moolenaar" Vim URL:	http://www.vim.org/lang.html
6071d4279SBram Moolenaar" Virata URL:	http://www.globespanvirata.com/
7071d4279SBram Moolenaar
8071d4279SBram Moolenaar
9071d4279SBram Moolenaar" Virata AConfig Configuration Script syntax
10071d4279SBram Moolenaar"  Can be detected by: 1) Extension .hw, .sw, .pkg and .module
11071d4279SBram Moolenaar"		       2) The file name pattern "mk.*\.cfg"
12071d4279SBram Moolenaar"		       3) The string "Virata" in the first 5 lines
13071d4279SBram Moolenaar
14071d4279SBram Moolenaar
15071d4279SBram Moolenaar" Setup Syntax:
1689bcfda6SBram Moolenaar" quit when a syntax file was already loaded
1789bcfda6SBram Moolenaarif exists("b:current_syntax")
18071d4279SBram Moolenaar  finish
19071d4279SBram Moolenaarendif
20071d4279SBram Moolenaar"  Virata syntax is case insensitive (mostly)
21071d4279SBram Moolenaarsyn case ignore
22071d4279SBram Moolenaar
23071d4279SBram Moolenaar
24071d4279SBram Moolenaar
25071d4279SBram Moolenaar" Comments:
26071d4279SBram Moolenaar" Virata comments start with %, but % is not a keyword character
27071d4279SBram Moolenaarsyn region  virataComment	start="^%" start="\s%"lc=1 keepend end="$" contains=@virataGrpInComments
28071d4279SBram Moolenaarsyn region  virataSpclComment	start="^%%" start="\s%%"lc=1 keepend end="$" contains=@virataGrpInComments
29071d4279SBram Moolenaarsyn keyword virataInCommentTodo	contained TODO FIXME XXX[XXXXX] REVIEW TBD
30071d4279SBram Moolenaarsyn cluster virataGrpInComments	contains=virataInCommentTodo
31071d4279SBram Moolenaarsyn cluster virataGrpComments	contains=@virataGrpInComments,virataComment,virataSpclComment
32071d4279SBram Moolenaar
33071d4279SBram Moolenaar
34071d4279SBram Moolenaar" Constants:
35071d4279SBram Moolenaarsyn match   virataStringError	+["]+
36071d4279SBram Moolenaarsyn region  virataString	start=+"+ skip=+\(\\\\\|\\"\)+ end=+"+ oneline contains=virataSpclCharError,virataSpclChar,@virataGrpDefSubsts
37071d4279SBram Moolenaarsyn match   virataCharacter	+'[^']\{-}'+ contains=virataSpclCharError,virataSpclChar
38071d4279SBram Moolenaarsyn match   virataSpclChar	contained +\\\(x\x\+\|\o\{1,3}\|['\"?\\abefnrtv]\)+
39071d4279SBram Moolenaarsyn match   virataNumberError	"\<\d\{-1,}\I\{-1,}\>"
40071d4279SBram Moolenaarsyn match   virataNumberError	"\<0x\x*\X\x*\>"
41071d4279SBram Moolenaarsyn match   virataNumberError	"\<\d\+\.\d*\(e[+-]\=\d\+\)\=\>"
42071d4279SBram Moolenaarsyn match   virataDecNumber	"\<\d\+U\=L\=\>"
43071d4279SBram Moolenaarsyn match   virataHexNumber	"\<0x\x\+U\=L\=\>"
44071d4279SBram Moolenaarsyn match   virataSizeNumber	"\<\d\+[BKM]\>"he=e-1
45071d4279SBram Moolenaarsyn match   virataSizeNumber	"\<\d\+[KM]B\>"he=e-2
46071d4279SBram Moolenaarsyn cluster virataGrpNumbers	contains=virataNumberError,virataDecNumber,virataHexNumber,virataSizeNumber
47071d4279SBram Moolenaarsyn cluster virataGrpConstants	contains=@virataGrpNumbers,virataStringError,virataString,virataCharacter,virataSpclChar
48071d4279SBram Moolenaar
49071d4279SBram Moolenaar
50071d4279SBram Moolenaar" Identifiers:
51071d4279SBram Moolenaarsyn match   virataIdentError	contained "\<\D\S*\>"
52071d4279SBram Moolenaarsyn match   virataIdentifier	contained "\<\I\i\{-}\(\-\i\{-1,}\)*\>" contains=@virataGrpDefSubsts
53071d4279SBram Moolenaarsyn match   virataFileIdent	contained "\F\f*" contains=@virataGrpDefSubsts
54071d4279SBram Moolenaarsyn cluster virataGrpIdents	contains=virataIdentifier,virataIdentError
55071d4279SBram Moolenaarsyn cluster virataGrpFileIdents	contains=virataFileIdent,virataIdentError
56071d4279SBram Moolenaar
57071d4279SBram Moolenaar
58071d4279SBram Moolenaar" Statements:
59071d4279SBram Moolenaarsyn match   virataStatement	"^\s*Config\(\(/Kernel\)\=\.\(hs\=\|s\)\)\=\>"
60071d4279SBram Moolenaarsyn match   virataStatement	"^\s*Config\s\+\I\i\{-}\(\-\i\{-1,}\)*\.\(hs\=\|s\)\>"
61071d4279SBram Moolenaarsyn match   virataStatement	"^\s*Make\.\I\i\{-}\(\-\i\{-1}\)*\>" skipwhite nextgroup=@virataGrpIdents
62071d4279SBram Moolenaarsyn match   virataStatement	"^\s*Make\.c\(at\)\=++\s"me=e-1 skipwhite nextgroup=@virataGrpIdents
63071d4279SBram Moolenaarsyn match   virataStatement	"^\s*\(Architecture\|GetEnv\|Reserved\|\(Un\)\=Define\|Version\)\>" skipwhite nextgroup=@virataGrpIdents
64071d4279SBram Moolenaarsyn match   virataStatement	"^\s*\(Hardware\|ModuleSource\|\(Release\)\=Path\|Software\)\>" skipwhite nextgroup=@virataGrpFileIdents
65071d4279SBram Moolenaarsyn match   virataStatement	"^\s*\(DefaultPri\|Hydrogen\)\>" skipwhite nextgroup=virataDecNumber,virataNumberError
66071d4279SBram Moolenaarsyn match   virataStatement	"^\s*\(NoInit\|PCI\|SysLink\)\>"
67071d4279SBram Moolenaarsyn match   virataStatement	"^\s*Allow\s\+\(ModuleConfig\)\>"
68071d4279SBram Moolenaarsyn match   virataStatement	"^\s*NoWarn\s\+\(Export\|Parse\=able\|Relative]\)\>"
69071d4279SBram Moolenaarsyn match   virataStatement	"^\s*Debug\s\+O\(ff\|n\)\>"
70071d4279SBram Moolenaar
71071d4279SBram Moolenaar" Import (Package <exec>|Module <name> from <dir>)
72071d4279SBram Moolenaarsyn region  virataImportDef	transparent matchgroup=virataStatement start="^\s*Import\>" keepend end="$" contains=virataInImport,virataModuleDef,virataNumberError,virataStringError,@virataGrpDefSubsts
73071d4279SBram Moolenaarsyn match   virataInImport	contained "\<\(Module\|Package\|from\)\>" skipwhite nextgroup=@virataGrpFileIdents
74071d4279SBram Moolenaar" Export (Header <header file>|SLibrary <obj file>)
75071d4279SBram Moolenaarsyn region  virataExportDef	transparent matchgroup=virataStatement start="^\s*Export\>" keepend end="$" contains=virataInExport,virataNumberError,virataStringError,@virataGrpDefSubsts
76071d4279SBram Moolenaarsyn match   virataInExport	contained "\<\(Header\|[SU]Library\)\>" skipwhite nextgroup=@virataGrpFileIdents
77071d4279SBram Moolenaar" Process <name> is <dir/exec>
78071d4279SBram Moolenaarsyn region  virataProcessDef	transparent matchgroup=virataStatement start="^\s*Process\>" keepend end="$" contains=virataInProcess,virataInExec,virataNumberError,virataStringError,@virataGrpDefSubsts,@virataGrpIdents
79071d4279SBram Moolenaarsyn match   virataInProcess	contained "\<is\>"
80071d4279SBram Moolenaar" Instance <name> of <module>
81071d4279SBram Moolenaarsyn region  virataInstanceDef	transparent matchgroup=virataStatement start="^\s*Instance\>" keepend end="$" contains=virataInInstance,virataNumberError,virataStringError,@virataGrpDefSubsts,@virataGrpIdents
82071d4279SBram Moolenaarsyn match   virataInInstance	contained "\<of\>"
83071d4279SBram Moolenaar" Module <name> from <dir>
84071d4279SBram Moolenaarsyn region  virataModuleDef	transparent matchgroup=virataStatement start="^\s*\(Package\|Module\)\>" keepend end="$" contains=virataInModule,virataNumberError,virataStringError,@virataGrpDefSubsts
85071d4279SBram Moolenaarsyn match   virataInModule	contained "^\s*Package\>"hs=e-7 skipwhite nextgroup=@virataGrpIdents
86071d4279SBram Moolenaarsyn match   virataInModule	contained "^\s*Module\>"hs=e-6 skipwhite nextgroup=@virataGrpIdents
87071d4279SBram Moolenaarsyn match   virataInModule	contained "\<from\>" skipwhite nextgroup=@virataGrpFileIdents
88071d4279SBram Moolenaar" Colour <name> from <dir>
89071d4279SBram Moolenaarsyn region  virataColourDef	transparent matchgroup=virataStatement start="^\s*Colour\>" keepend end="$" contains=virataInColour,virataNumberError,virataStringError,@virataGrpDefSubsts
90071d4279SBram Moolenaarsyn match   virataInColour	contained "^\s*Colour\>"hs=e-6 skipwhite nextgroup=@virataGrpIdents
91071d4279SBram Moolenaarsyn match   virataInColour	contained "\<from\>" skipwhite nextgroup=@virataGrpFileIdents
92071d4279SBram Moolenaar" Link {<link cmds>}
93071d4279SBram Moolenaar" Object {Executable [<ExecOptions>]}
94071d4279SBram Moolenaarsyn match   virataStatement	"^\s*\(Link\|Object\)"
95071d4279SBram Moolenaar" Executable <name> [<ExecOptions>]
96071d4279SBram Moolenaarsyn region  virataExecDef	transparent matchgroup=virataStatement start="^\s*Executable\>" keepend end="$" contains=virataInExec,virataNumberError,virataStringError
97071d4279SBram Moolenaarsyn match   virataInExec	contained "^\s*Executable\>" skipwhite nextgroup=@virataGrpDefSubsts,@virataGrpIdents
98071d4279SBram Moolenaarsyn match   virataInExec	contained "\<\(epilogue\|pro\(logue\|cess\)\|qhandler\)\>" skipwhite nextgroup=@virataGrpDefSubsts,@virataGrpIdents
99071d4279SBram Moolenaarsyn match   virataInExec	contained "\<\(priority\|stack\)\>" skipwhite nextgroup=@virataGrpDefSubsts,@virataGrpNumbers
100071d4279SBram Moolenaar" Message <name> {<msg format>}
101071d4279SBram Moolenaar" MessageId <number>
102071d4279SBram Moolenaarsyn match   virataStatement	"^\s*Message\(Id\)\=\>" skipwhite nextgroup=@virataGrpNumbers
103071d4279SBram Moolenaar" MakeRule <make suffix=file> {<make cmds>}
104071d4279SBram Moolenaarsyn region  virataMakeDef	transparent matchgroup=virataStatement start="^\s*MakeRule\>" keepend end="$" contains=virataInMake,@virataGrpDefSubsts
105071d4279SBram Moolenaarsyn case match
106071d4279SBram Moolenaarsyn match   virataInMake	contained "\<N\>"
107071d4279SBram Moolenaarsyn case ignore
108071d4279SBram Moolenaar" (Append|Edit|Copy)Rule <make suffix=file> <subst cmd>
109071d4279SBram Moolenaarsyn match   virataStatement	"^\s*\(Append\|Copy\|Edit\)Rule\>"
110071d4279SBram Moolenaar" AlterRules in <file> <subst cmd>
111071d4279SBram Moolenaarsyn region  virataAlterDef	transparent matchgroup=virataStatement start="^\s*AlterRules\>" keepend end="$" contains=virataInAlter,@virataGrpDefSubsts
112071d4279SBram Moolenaarsyn match   virataInAlter	contained "\<in\>" skipwhite nextgroup=@virataGrpIdents
113071d4279SBram Moolenaar" Clustering
114071d4279SBram Moolenaarsyn cluster virataGrpInStatmnts	contains=virataInImport,virataInExport,virataInExec,virataInProcess,virataInAlter,virataInInstance,virataInModule,virataInColour
115071d4279SBram Moolenaarsyn cluster virataGrpStatements	contains=@virataGrpInStatmnts,virataStatement,virataImportDef,virataExportDef,virataExecDef,virataProcessDef,virataAlterDef,virataInstanceDef,virataModuleDef,virataColourDef
116071d4279SBram Moolenaar
117071d4279SBram Moolenaar
118071d4279SBram Moolenaar" MkFlash.Cfg File Statements:
119071d4279SBram Moolenaarsyn region  virataCfgFileDef	transparent matchgroup=virataCfgStatement start="^\s*Dir\>" start="^\s*\a\{-}File\>" start="^\s*OutputFile\d\d\=\>" start="^\s*\a\w\{-}[NP]PFile\>" keepend end="$" contains=@virataGrpFileIdents
120071d4279SBram Moolenaarsyn region  virataCfgSizeDef	transparent matchgroup=virataCfgStatement start="^\s*\a\{-}Size\>" start="^\s*ConfigInfo\>" keepend end="$" contains=@virataGrpNumbers,@virataGrpDefSubsts,virataIdentError
121071d4279SBram Moolenaarsyn region  virataCfgNumberDef	transparent matchgroup=virataCfgStatement start="^\s*FlashchipNum\(b\(er\=\)\=\)\=\>" start="^\s*Granularity\>" keepend end="$" contains=@virataGrpNumbers,@virataGrpDefSubsts
122071d4279SBram Moolenaarsyn region  virataCfgMacAddrDef	transparent matchgroup=virataCfgStatement start="^\s*MacAddress\>" keepend end="$" contains=virataNumberError,virataStringError,virataIdentError,virataInMacAddr,@virataGrpDefSubsts
123071d4279SBram Moolenaarsyn match   virataInMacAddr	contained "\x[:]\x\{1,2}\>"lc=2
124071d4279SBram Moolenaarsyn match   virataInMacAddr	contained "\s\x\{1,2}[:]\x"lc=1,me=e-1,he=e-2 nextgroup=virataInMacAddr
125071d4279SBram Moolenaarsyn match   virataCfgStatement	"^\s*Target\>" skipwhite nextgroup=@virataGrpIdents
126071d4279SBram Moolenaarsyn cluster virataGrpCfgs	contains=virataCfgStatement,virataCfgFileDef,virataCfgSizeDef,virataCfgNumberDef,virataCfgMacAddrDef,virataInMacAddr
127071d4279SBram Moolenaar
128071d4279SBram Moolenaar
129071d4279SBram Moolenaar
130071d4279SBram Moolenaar" PreProcessor Instructions:
131071d4279SBram Moolenaar"  Defines
132071d4279SBram Moolenaarsyn match   virataDefine	"^\s*\(Un\)\=Set\>" skipwhite nextgroup=@virataGrpIdents
133071d4279SBram Moolenaarsyn match   virataInclude	"^\s*Include\>" skipwhite nextgroup=@virataGrpFileIdents
134071d4279SBram Moolenaarsyn match   virataDefSubstError	"[^$]\$"lc=1
135071d4279SBram Moolenaarsyn match   virataDefSubstError	"\$\(\w\|{\(.\{-}}\)\=\)"
136071d4279SBram Moolenaarsyn case match
137071d4279SBram Moolenaarsyn match   virataDefSubst	"\$\(\d\|[DINORS]\|{\I\i\{-}\(\-\i\{-1,}\)*}\)"
138071d4279SBram Moolenaarsyn case ignore
139071d4279SBram Moolenaar"  Conditionals
140071d4279SBram Moolenaarsyn cluster virataGrpCntnPreCon	contains=ALLBUT,@virataGrpInComments,@virataGrpFileIdents,@virataGrpInStatmnts
141071d4279SBram Moolenaarsyn region  virataPreConDef	transparent matchgroup=virataPreCondit start="^\s*If\>" end="^\s*Endif\>" contains=@virataGrpCntnPreCon
142071d4279SBram Moolenaarsyn match   virataPreCondit	contained "^\s*Else\(\s\+If\)\=\>"
143071d4279SBram Moolenaarsyn region  virataPreConDef	transparent matchgroup=virataPreCondit start="^\s*ForEach\>" end="^\s*Done\>" contains=@virataGrpCntnPreCon
144071d4279SBram Moolenaar"  Pre-Processors
145071d4279SBram Moolenaarsyn region  virataPreProc	start="^\s*Error\>" start="^\s*Warning\>" oneline end="$" contains=@virataGrpConstants,@virataGrpDefSubsts
146071d4279SBram Moolenaarsyn cluster virataGrpDefSubsts	contains=virataDefSubstError,virataDefSubst
147071d4279SBram Moolenaarsyn cluster virataGrpPreProcs	contains=@virataGrpDefSubsts,virataDefine,virataInclude,virataPreConDef,virataPreCondit,virataPreProc
148071d4279SBram Moolenaar
149071d4279SBram Moolenaar
150071d4279SBram Moolenaar" Synchronize Syntax:
151071d4279SBram Moolenaarsyn sync clear
152071d4279SBram Moolenaarsyn sync minlines=50		"for multiple region nesting
153071d4279SBram Moolenaar
154071d4279SBram Moolenaar
155071d4279SBram Moolenaar
156071d4279SBram Moolenaar" Define the default highlighting.
15789bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet
158071d4279SBram Moolenaar
159071d4279SBram Moolenaar" Sub Links:
160*f37506f6SBram Moolenaarhi def link virataDefSubstError	virataPreProcError
161*f37506f6SBram Moolenaarhi def link virataDefSubst		virataPreProc
162*f37506f6SBram Moolenaarhi def link virataInAlter		virataOperator
163*f37506f6SBram Moolenaarhi def link virataInExec		virataOperator
164*f37506f6SBram Moolenaarhi def link virataInExport		virataOperator
165*f37506f6SBram Moolenaarhi def link virataInImport		virataOperator
166*f37506f6SBram Moolenaarhi def link virataInInstance	virataOperator
167*f37506f6SBram Moolenaarhi def link virataInMake		virataOperator
168*f37506f6SBram Moolenaarhi def link virataInModule		virataOperator
169*f37506f6SBram Moolenaarhi def link virataInProcess	virataOperator
170*f37506f6SBram Moolenaarhi def link virataInMacAddr	virataHexNumber
171071d4279SBram Moolenaar
172071d4279SBram Moolenaar" Comment Group:
173*f37506f6SBram Moolenaarhi def link virataComment		Comment
174*f37506f6SBram Moolenaarhi def link virataSpclComment	SpecialComment
175*f37506f6SBram Moolenaarhi def link virataInCommentTodo	Todo
176071d4279SBram Moolenaar
177071d4279SBram Moolenaar" Constant Group:
178*f37506f6SBram Moolenaarhi def link virataString		String
179*f37506f6SBram Moolenaarhi def link virataStringError	Error
180*f37506f6SBram Moolenaarhi def link virataCharacter	Character
181*f37506f6SBram Moolenaarhi def link virataSpclChar		Special
182*f37506f6SBram Moolenaarhi def link virataDecNumber	Number
183*f37506f6SBram Moolenaarhi def link virataHexNumber	Number
184*f37506f6SBram Moolenaarhi def link virataSizeNumber	Number
185*f37506f6SBram Moolenaarhi def link virataNumberError	Error
186071d4279SBram Moolenaar
187071d4279SBram Moolenaar" Identifier Group:
188*f37506f6SBram Moolenaarhi def link virataIdentError	Error
189071d4279SBram Moolenaar
190071d4279SBram Moolenaar" PreProc Group:
191*f37506f6SBram Moolenaarhi def link virataPreProc		PreProc
192*f37506f6SBram Moolenaarhi def link virataDefine		Define
193*f37506f6SBram Moolenaarhi def link virataInclude		Include
194*f37506f6SBram Moolenaarhi def link virataPreCondit	PreCondit
195*f37506f6SBram Moolenaarhi def link virataPreProcError	Error
196*f37506f6SBram Moolenaarhi def link virataPreProcWarn	Todo
197071d4279SBram Moolenaar
198071d4279SBram Moolenaar" Directive Group:
199*f37506f6SBram Moolenaarhi def link virataStatement	Statement
200*f37506f6SBram Moolenaarhi def link virataCfgStatement	Statement
201*f37506f6SBram Moolenaarhi def link virataOperator		Operator
202*f37506f6SBram Moolenaarhi def link virataDirective	Keyword
203071d4279SBram Moolenaar
204071d4279SBram Moolenaar
205071d4279SBram Moolenaarlet b:current_syntax = "virata"
206071d4279SBram Moolenaar
207071d4279SBram Moolenaar" vim:ts=8:sw=2:noet:
208