blob: 5434f928c72215f6234f25eb96d0a301a30037f8 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: xmath (a simulation tool)
Bram Moolenaare2719092015-01-10 15:09:25 +01003" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
Bram Moolenaard5ab34b2007-05-05 17:15:44 +00004" Last Change: Sep 11, 2006
Bram Moolenaare2719092015-01-10 15:09:25 +01005" Version: 7
6" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_XMATH
Bram Moolenaar071d4272004-06-13 20:20:40 +00007
8" For version 5.x: Clear all syntax items
9" For version 6.x: Quit when a syntax file was already loaded
10if version < 600
11 syntax clear
12elseif exists("b:current_syntax")
13 finish
14endif
15
16" parenthesis sanity checker
17syn region xmathZone matchgroup=Delimiter start="(" matchgroup=Delimiter end=")" transparent contains=ALLBUT,xmathError,xmathBraceError,xmathCurlyError
18syn region xmathZone matchgroup=Delimiter start="{" matchgroup=Delimiter end="}" transparent contains=ALLBUT,xmathError,xmathBraceError,xmathParenError
19syn region xmathZone matchgroup=Delimiter start="\[" matchgroup=Delimiter end="]" transparent contains=ALLBUT,xmathError,xmathCurlyError,xmathParenError
20syn match xmathError "[)\]}]"
21syn match xmathBraceError "[)}]" contained
22syn match xmathCurlyError "[)\]]" contained
23syn match xmathParenError "[\]}]" contained
24syn match xmathComma "[,;:]"
25syn match xmathComma "\.\.\.$"
26
27" A bunch of useful xmath keywords
28syn case ignore
29syn keyword xmathFuncCmd function endfunction command endcommand
30syn keyword xmathStatement abort beep debug default define
31syn keyword xmathStatement execute exit pause return undefine
32syn keyword xmathConditional if else elseif endif
33syn keyword xmathRepeat while for endwhile endfor
34syn keyword xmathCmd anigraph deletedatastore keep renamedatastore
35syn keyword xmathCmd autocode deletestd linkhyper renamestd
36syn keyword xmathCmd build deletesuperblock linksim renamesuperblock
37syn keyword xmathCmd comment deletetransition listusertype save
38syn keyword xmathCmd copydatastore deleteusertype load sbadisplay
39syn keyword xmathCmd copystd detailmodel lock set
40syn keyword xmathCmd copysuperblock display minmax_display setsbdefault
41syn keyword xmathCmd createblock documentit modifyblock show
42syn keyword xmathCmd createbubble editcatalog modifybubble showlicense
43syn keyword xmathCmd createconnection erase modifystd showsbdefault
44syn keyword xmathCmd creatertf expandsuperbubble modifysuperblock stop
45syn keyword xmathCmd createstd for modifytransition stopcosim
46syn keyword xmathCmd createsuperblock go modifyusertype syntax
47syn keyword xmathCmd createsuperbubble goto new unalias
48syn keyword xmathCmd createtransition hardcopy next unlock
49syn keyword xmathCmd createusertype help polargraph usertype
50syn keyword xmathCmd delete hyperbuild print whatis
51syn keyword xmathCmd deleteblock if printmodel while
52syn keyword xmathCmd deletebubble ifilter quit who
53syn keyword xmathCmd deleteconnection ipcwc remove xgraph
54
55syn keyword xmathFunc abcd eye irea querystdoptions
56syn keyword xmathFunc abs eyepattern is querysuperblock
57syn keyword xmathFunc acos feedback ISID querysuperblockopt
58syn keyword xmathFunc acosh fft ISID Models querytransition
59syn keyword xmathFunc adconversion fftpdm kronecker querytransitionopt
60syn keyword xmathFunc afeedback filter length qz
61syn keyword xmathFunc all find limit rampinvar
62syn keyword xmathFunc ambiguity firparks lin random
63syn keyword xmathFunc amdemod firremez lin30 randpdm
64syn keyword xmathFunc analytic firwind linearfm randpert
65syn keyword xmathFunc analyze fmdemod linfnorm randsys
66syn keyword xmathFunc any forwdiff lintodb rank
67syn keyword xmathFunc append fprintf list rayleigh
68syn keyword xmathFunc argn frac log rcepstrum
69syn keyword xmathFunc argv fracred log10 rcond
70syn keyword xmathFunc arma freq logm rdintegrate
71syn keyword xmathFunc arma2ss freqcircle lognormal read
72syn keyword xmathFunc armax freqcont logspace real
73syn keyword xmathFunc ascii frequencyhop lowpass rectify
74syn keyword xmathFunc asin fsesti lpopt redschur
75syn keyword xmathFunc asinh fslqgcomp lqgcomp reflect
76syn keyword xmathFunc atan fsregu lqgltr regulator
77syn keyword xmathFunc atan2 fwls ls residue
78syn keyword xmathFunc atanh gabor ls2unc riccati
79syn keyword xmathFunc attach_ac100 garb ls2var riccati_eig
80syn keyword xmathFunc backdiff gaussian lsjoin riccati_schur
81syn keyword xmathFunc balance gcexp lu ricean
82syn keyword xmathFunc balmoore gcos lyapunov rifd
83syn keyword xmathFunc bandpass gdfileselection makecontinuous rlinfo
84syn keyword xmathFunc bandstop gdmessage makematrix rlocus
85syn keyword xmathFunc bj gdselection makepoly rms
86syn keyword xmathFunc blknorm genconv margin rootlocus
87syn keyword xmathFunc bode get markoff roots
88syn keyword xmathFunc bpm get_info30 matchedpz round
89syn keyword xmathFunc bpm2inn get_inn max rref
90syn keyword xmathFunc bpmjoin gfdm maxlike rve_get
91syn keyword xmathFunc bpmsplit gfsk mean rve_info
92syn keyword xmathFunc bst gfskernel mergeseg rve_reset
93syn keyword xmathFunc buttconstr gfunction min rve_update
94syn keyword xmathFunc butterworth ggauss minimal samplehold
95syn keyword xmathFunc cancel giv mkpert schur
96syn keyword xmathFunc canform giv2var mkphase sdf
97syn keyword xmathFunc ccepstrum givjoin mma sds
98syn keyword xmathFunc char gpsk mmaget sdtrsp
99syn keyword xmathFunc chebconstr gpulse mmaput sec
100syn keyword xmathFunc chebyshev gqam mod sech
101syn keyword xmathFunc check gqpsk modal siginterp
102syn keyword xmathFunc cholesky gramp modalstate sign
103syn keyword xmathFunc chop gsawtooth modcarrier sim
104syn keyword xmathFunc circonv gsigmoid mreduce sim30
105syn keyword xmathFunc circorr gsin mtxplt simin
106syn keyword xmathFunc clock gsinc mu simin30
107syn keyword xmathFunc clocus gsqpsk mulhank simout
108syn keyword xmathFunc clsys gsquarewave multipath simout30
109syn keyword xmathFunc coherence gstep musynfit simtransform
110syn keyword xmathFunc colorind GuiDialogCreate mxstr2xmstr sin
111syn keyword xmathFunc combinepf GuiDialogDestroy mxstring2xmstring singriccati
112syn keyword xmathFunc commentof GuiFlush names sinh
113syn keyword xmathFunc compare GuiGetValue nichols sinm
114syn keyword xmathFunc complementaryerf GuiManage noisefilt size
115syn keyword xmathFunc complexenvelope GuiPlot none smargin
116syn keyword xmathFunc complexfreqshift GuiPlotGet norm sns2sys
117syn keyword xmathFunc concatseg GuiSetValue numden sort
118syn keyword xmathFunc condition GuiShellCreate nyquist spectrad
119syn keyword xmathFunc conj GuiShellDeiconify obscf spectrum
120syn keyword xmathFunc conmap GuiShellDestroy observable spline
121syn keyword xmathFunc connect GuiShellIconify oe sprintf
122syn keyword xmathFunc conpdm GuiShellLower ones sqrt
123syn keyword xmathFunc constellation GuiShellRaise ophank sqrtm
124syn keyword xmathFunc consys GuiShellRealize optimize sresidualize
125syn keyword xmathFunc controllable GuiShellUnrealize optscale ss2arma
126syn keyword xmathFunc convolve GuiTimer orderfilt sst
127syn keyword xmathFunc correlate GuiToolCreate orderstate ssv
128syn keyword xmathFunc cos GuiToolDestroy orth stable
129syn keyword xmathFunc cosh GuiToolExist oscmd stair
130syn keyword xmathFunc cosm GuiUnmanage oscope starp
131syn keyword xmathFunc cot GuiWidgetExist osscale step
132syn keyword xmathFunc coth h2norm padcrop stepinvar
133syn keyword xmathFunc covariance h2syn partialsum string
134syn keyword xmathFunc csc hadamard pdm stringex
135syn keyword xmathFunc csch hankelsv pdmslice substr
136syn keyword xmathFunc csum hessenberg pem subsys
137syn keyword xmathFunc ctrcf highpass perfplots sum
138syn keyword xmathFunc ctrlplot hilbert period svd
139syn keyword xmathFunc daug hilberttransform pfscale svplot
140syn keyword xmathFunc dbtolin hinfcontr phaseshift sweep
141syn keyword xmathFunc dct hinfnorm pinv symbolmap
142syn keyword xmathFunc decimate hinfsyn plot sys2sns
143syn keyword xmathFunc defFreqRange histogram plot30 sysic
144syn keyword xmathFunc defTimeRange idfreq pmdemod Sysid
145syn keyword xmathFunc delay idimpulse poisson system
146syn keyword xmathFunc delsubstr idsim poissonimpulse tan
147syn keyword xmathFunc det ifft poleplace tanh
148syn keyword xmathFunc detrend imag poles taper
149syn keyword xmathFunc dht impinvar polezero tfid
150syn keyword xmathFunc diagonal impplot poltrend toeplitz
151syn keyword xmathFunc differentiate impulse polyfit trace
152syn keyword xmathFunc directsequence index polynomial tril
153syn keyword xmathFunc discretize indexlist polyval trim
154syn keyword xmathFunc divide initial polyvalm trim30
155syn keyword xmathFunc domain initmodel prbs triu
156syn keyword xmathFunc dst initx0 product trsp
157syn keyword xmathFunc eig inn2bpm psd truncate
158syn keyword xmathFunc ellipconstr inn2pe put_inn tustin
159syn keyword xmathFunc elliptic inn2unc qpopt uniform
160syn keyword xmathFunc erf insertseg qr val
161syn keyword xmathFunc error int quantize variance
162syn keyword xmathFunc estimator integrate queryblock videolines
163syn keyword xmathFunc etfe integratedump queryblockoptions wcbode
164syn keyword xmathFunc exist interp querybubble wcgain
165syn keyword xmathFunc exp interpolate querybubbleoptionswindow
166syn keyword xmathFunc expm inv querycatalog wtbalance
167syn keyword xmathFunc extractchan invhilbert queryconnection zeros
168syn keyword xmathFunc extractseg iqmix querystd
169
170syn case match
171
172" Labels (supports xmath's goto)
173syn match xmathLabel "^\s*<[a-zA-Z_][a-zA-Z0-9]*>"
174
175" String and Character constants
176" Highlight special characters (those which have a backslash) differently
177syn match xmathSpecial contained "\\\d\d\d\|\\."
Bram Moolenaard5ab34b2007-05-05 17:15:44 +0000178syn region xmathString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=xmathSpecial,@Spell
Bram Moolenaar071d4272004-06-13 20:20:40 +0000179syn match xmathCharacter "'[^\\]'"
180syn match xmathSpecialChar "'\\.'"
181
182syn match xmathNumber "-\=\<\d\+L\=\>\|0[xX][0-9a-fA-F]\+\>"
183
184" Comments:
185" xmath supports #... (like Unix shells)
186" and #{ ... }# comment blocks
Bram Moolenaard5ab34b2007-05-05 17:15:44 +0000187syn cluster xmathCommentGroup contains=xmathString,xmathTodo,@Spell
Bram Moolenaar18144c82006-04-12 21:52:12 +0000188syn keyword xmathTodo contained COMBAK DEBUG FIXME Todo TODO XXX
Bram Moolenaard5ab34b2007-05-05 17:15:44 +0000189syn match xmathComment "#.*$" contains=@xmathCommentGroup
190syn region xmathCommentBlock start="#{" end="}#" contains=@xmathCommentGroup
Bram Moolenaar071d4272004-06-13 20:20:40 +0000191
192" synchronizing
193syn sync match xmathSyncComment grouphere xmathCommentBlock "#{"
194syn sync match xmathSyncComment groupthere NONE "}#"
195
196" Define the default highlighting.
197" For version 5.7 and earlier: only when not done already
198" For version 5.8 and later: only when an item doesn't have highlighting yet
199if version >= 508 || !exists("did_xmath_syntax_inits")
200 if version < 508
201 let did_xmath_syntax_inits = 1
202 command -nargs=+ HiLink hi link <args>
203 else
204 command -nargs=+ HiLink hi def link <args>
205 endif
206
207 HiLink xmathBraceError xmathError
208 HiLink xmathCmd xmathStatement
209 HiLink xmathCommentBlock xmathComment
210 HiLink xmathCurlyError xmathError
211 HiLink xmathFuncCmd xmathStatement
212 HiLink xmathParenError xmathError
213
214 " The default methods for highlighting. Can be overridden later
215 HiLink xmathCharacter Character
216 HiLink xmathComma Delimiter
217 HiLink xmathComment Comment
218 HiLink xmathCommentBlock Comment
219 HiLink xmathConditional Conditional
220 HiLink xmathError Error
221 HiLink xmathFunc Function
222 HiLink xmathLabel PreProc
223 HiLink xmathNumber Number
224 HiLink xmathRepeat Repeat
225 HiLink xmathSpecial Type
226 HiLink xmathSpecialChar SpecialChar
227 HiLink xmathStatement Statement
228 HiLink xmathString String
229 HiLink xmathTodo Todo
230
231 delcommand HiLink
232endif
233
234let b:current_syntax = "xmath"
235
236" vim: ts=17