blob: 109f880ee13e36cdc28d70c933c8f3d0357bc9f5 [file] [log] [blame]
Bram Moolenaar53180ce2005-07-05 21:48:14 +00001" Vim syntax file
2" Language: MuPAD source
3" Maintainer: Dave Silvia <dsilvia@mchsi.com>
4" Filenames: *.mu
5" Date: 6/30/2004
6
7
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" Set default highlighting to Win2k
17if !exists("mupad_cmdextversion")
18 let mupad_cmdextversion = 2
19endif
20
21syn case match
22
23syn match mupadComment "//\p*$"
24syn region mupadComment start="/\*" end="\*/"
25
26syn region mupadString start="\"" skip=/\\"/ end="\""
27
28syn match mupadOperator "(\|)\|:=\|::\|:\|;"
29" boolean
30syn keyword mupadOperator and or not xor
31syn match mupadOperator "==>\|\<=\>"
32
33" Informational
34syn keyword mupadSpecial FILEPATH NOTEBOOKFILE NOTEBOOKPATH
35" Set-able, e.g., DIGITS:=10
36syn keyword mupadSpecial DIGITS HISTORY LEVEL
37syn keyword mupadSpecial MAXLEVEL MAXDEPTH ORDER
38syn keyword mupadSpecial TEXTWIDTH
39" Set-able, e.g., PRETTYPRINT:=TRUE
40syn keyword mupadSpecial PRETTYPRINT
41" Set-able, e.g., LIBPATH:="C:\\MuPAD Pro\\mylibdir" or LIBPATH:="/usr/MuPAD Pro/mylibdir"
42syn keyword mupadSpecial LIBPATH PACKAGEPATH
43syn keyword mupadSpecial READPATH TESTPATH WRITEPATH
44" Symbols and Constants
45syn keyword mupadDefine FAIL NIL
46syn keyword mupadDefine TRUE FALSE UNKNOWN
47syn keyword mupadDefine complexInfinity infinity
48syn keyword mupadDefine C_ CATALAN E EULER I PI Q_ R_
49syn keyword mupadDefine RD_INF RD_NINF undefined unit universe Z_
50" print() directives
51syn keyword mupadDefine Unquoted NoNL KeepOrder Typeset
52" domain specifics
53syn keyword mupadStatement domain begin end_domain end
54syn keyword mupadIdentifier inherits category axiom info doc interface
55" basic programming statements
56syn keyword mupadStatement proc begin end_proc
57syn keyword mupadUnderlined name local option save
58syn keyword mupadConditional if then elif else end_if
59syn keyword mupadConditional case of do break end_case
60syn keyword mupadRepeat for do next break end_for
61syn keyword mupadRepeat while do next break end_while
62syn keyword mupadRepeat repeat next break until end_repeat
63" domain packages/libraries
64syn keyword mupadType detools import linalg numeric numlib plot polylib
65syn match mupadType '\<DOM_\w*\>'
66
67"syn keyword mupadFunction contains
68" Functions dealing with prime numbers
69syn keyword mupadFunction phi invphi mersenne nextprime numprimedivisors
70syn keyword mupadFunction pollard prevprime primedivisors
71" Functions operating on Lists, Matrices, Sets, ...
72syn keyword mupadFunction array _index
73" Evaluation
74syn keyword mupadFunction float contains
75" stdlib
76syn keyword mupadFunction _exprseq _invert _lazy_and _lazy_or _negate
77syn keyword mupadFunction _stmtseq _invert intersect minus union
78syn keyword mupadFunction Ci D Ei O Re Im RootOf Si
79syn keyword mupadFunction Simplify
80syn keyword mupadFunction abs airyAi airyBi alias unalias anames append
81syn keyword mupadFunction arcsin arccos arctan arccsc arcsec arccot
82syn keyword mupadFunction arcsinh arccosh arctanh arccsch arcsech arccoth
83syn keyword mupadFunction arg args array assert assign assignElements
84syn keyword mupadFunction assume assuming asympt bernoulli
85syn keyword mupadFunction besselI besselJ besselK besselY beta binomial bool
86syn keyword mupadFunction bytes card
87syn keyword mupadFunction ceil floor round trunc
88syn keyword mupadFunction coeff coerce collect combine copyClosure
89syn keyword mupadFunction conjugate content context contfrac
90syn keyword mupadFunction debug degree degreevec delete _delete denom
91syn keyword mupadFunction densematrix diff dilog dirac discont div _div
92syn keyword mupadFunction divide domtype doprint erf erfc error eval evalassign
93syn keyword mupadFunction evalp exp expand export unexport expose expr
94syn keyword mupadFunction expr2text external extnops extop extsubsop
95syn keyword mupadFunction fact fact2 factor fclose finput fname fopen fprint
96syn keyword mupadFunction fread ftextinput readbitmap readdata pathname
97syn keyword mupadFunction protocol read readbytes write writebytes
98syn keyword mupadFunction float frac frame _frame frandom freeze unfreeze
99syn keyword mupadFunction funcenv gamma gcd gcdex genident genpoly
100syn keyword mupadFunction getpid getprop ground has hastype heaviside help
101syn keyword mupadFunction history hold hull hypergeom icontent id
102syn keyword mupadFunction ifactor igamma igcd igcdex ilcm in _in
103syn keyword mupadFunction indets indexval info input int int2text
104syn keyword mupadFunction interpolate interval irreducible is
105syn keyword mupadFunction isprime isqrt iszero ithprime kummerU lambertW
106syn keyword mupadFunction last lasterror lcm lcoeff ldegree length
107syn keyword mupadFunction level lhs rhs limit linsolve lllint
108syn keyword mupadFunction lmonomial ln loadmod loadproc log lterm
109syn keyword mupadFunction match map mapcoeffs maprat matrix max min
110syn keyword mupadFunction mod modp mods monomials multcoeffs new
111syn keyword mupadFunction newDomain _next nextprime nops
112syn keyword mupadFunction norm normal nterms nthcoeff nthmonomial nthterm
113syn keyword mupadFunction null numer ode op operator package
114syn keyword mupadFunction pade partfrac patchlevel pdivide
115syn keyword mupadFunction piecewise plot plotfunc2d plotfunc3d
116syn keyword mupadFunction poly poly2list polylog powermod print
117syn keyword mupadFunction product protect psi quit _quit radsimp random rationalize
118syn keyword mupadFunction rec rectform register reset return revert
119syn keyword mupadFunction rewrite select series setuserinfo share sign signIm
120syn keyword mupadFunction simplify
121syn keyword mupadFunction sin cos tan csc sec cot
122syn keyword mupadFunction sinh cosh tanh csch sech coth
123syn keyword mupadFunction slot solve
124syn keyword mupadFunction pdesolve matlinsolve matlinsolveLU toeplitzSolve
125syn keyword mupadFunction vandermondeSolve fsolve odesolve odesolve2
126syn keyword mupadFunction polyroots polysysroots odesolveGeometric
127syn keyword mupadFunction realroot realroots mroots lincongruence
128syn keyword mupadFunction msqrts
129syn keyword mupadFunction sort split sqrt strmatch strprint
130syn keyword mupadFunction subs subset subsex subsop substring sum
131syn keyword mupadFunction surd sysname sysorder system table taylor tbl2text
132syn keyword mupadFunction tcoeff testargs testeq testtype text2expr
133syn keyword mupadFunction text2int text2list text2tbl rtime time
134syn keyword mupadFunction traperror type unassume unit universe
135syn keyword mupadFunction unloadmod unprotect userinfo val version
136syn keyword mupadFunction warning whittakerM whittakerW zeta zip
137
138" graphics plot::
139syn keyword mupadFunction getDefault setDefault copy modify Arc2d Arrow2d
140syn keyword mupadFunction Arrow3d Bars2d Bars3d Box Boxplot Circle2d Circle3d
141syn keyword mupadFunction Cone Conformal Curve2d Curve3d Cylinder Cylindrical
142syn keyword mupadFunction Density Ellipse2d Function2d Function3d Hatch
143syn keyword mupadFunction Histogram2d HOrbital Implicit2d Implicit3d
144syn keyword mupadFunction Inequality Iteration Line2d Line3d Lsys Matrixplot
145syn keyword mupadFunction MuPADCube Ode2d Ode3d Parallelogram2d Parallelogram3d
146syn keyword mupadFunction Piechart2d Piechart3d Point2d Point3d Polar
147syn keyword mupadFunction Polygon2d Polygon3d Raster Rectangle Sphere
148syn keyword mupadFunction Ellipsoid Spherical Sum Surface SurfaceSet
149syn keyword mupadFunction SurfaceSTL Tetrahedron Hexahedron Octahedron
150syn keyword mupadFunction Dodecahedron Icosahedron Text2d Text3d Tube Turtle
151syn keyword mupadFunction VectorField2d XRotate ZRotate Canvas CoordinateSystem2d
152syn keyword mupadFunction CoordinateSystem3d Group2d Group3d Scene2d Scene3d ClippingBox
153syn keyword mupadFunction Rotate2d Rotate3d Scale2d Scale3d Transform2d
154syn keyword mupadFunction Transform3d Translate2d Translate3d AmbientLight
155syn keyword mupadFunction Camera DistantLight PointLight SpotLight
156
157" graphics Attributes
158" graphics Output Attributes
159syn keyword mupadIdentifier OutputFile OutputOptions
160" graphics Defining Attributes
161syn keyword mupadIdentifier Angle AngleRange AngleBegin AngleEnd
162syn keyword mupadIdentifier Area Axis AxisX AxisY AxisZ Base Top
163syn keyword mupadIdentifier BaseX TopX BaseY TopY BaseZ TopZ
164syn keyword mupadIdentifier BaseRadius TopRadius Cells
165syn keyword mupadIdentifier Center CenterX CenterY CenterZ
166syn keyword mupadIdentifier Closed ColorData CommandList Contours CoordinateType
167syn keyword mupadIdentifier Data DensityData DensityFunction From To
168syn keyword mupadIdentifier FromX ToX FromY ToY FromZ ToZ
169syn keyword mupadIdentifier Function FunctionX FunctionY FunctionZ
170syn keyword mupadIdentifier Function1 Function2 Baseline
171syn keyword mupadIdentifier Generations RotationAngle IterationRules StartRule StepLength
172syn keyword mupadIdentifier TurtleRules Ground Heights Moves Inequalities
173syn keyword mupadIdentifier InputFile Iterations StartingPoint
174syn keyword mupadIdentifier LineColorFunction FillColorFunction
175syn keyword mupadIdentifier Matrix2d Matrix3d
176syn keyword mupadIdentifier MeshList MeshListType MeshListNormals
177syn keyword mupadIdentifier MagneticQuantumNumber MomentumQuantumNumber PrincipalQuantumNumber
178syn keyword mupadIdentifier Name Normal NormalX NormalY NormalZ
179syn keyword mupadIdentifier ParameterName ParameterBegin ParameterEnd ParameterRange
180syn keyword mupadIdentifier Points2d Points3d Radius RadiusFunction
181syn keyword mupadIdentifier Position PositionX PositionY PositionZ
182syn keyword mupadIdentifier Scale ScaleX ScaleY ScaleZ Shift ShiftX ShiftY ShiftZ
183syn keyword mupadIdentifier SemiAxes SemiAxisX SemiAxisY SemiAxisZ
184syn keyword mupadIdentifier Tangent1 Tangent1X Tangent1Y Tangent1Z
185syn keyword mupadIdentifier Tangent2 Tangent2X Tangent2Y Tangent2Z
186syn keyword mupadIdentifier Text TextOrientation TextRotation
187syn keyword mupadIdentifier UName URange UMin UMax VName VRange VMin VMax
188syn keyword mupadIdentifier XName XRange XMin XMax YName YRange YMin YMax
189syn keyword mupadIdentifier ZName ZRange ZMin ZMax ViewingBox
190syn keyword mupadIdentifier ViewingBoxXMin ViewingBoxXMax ViewingBoxXRange
191syn keyword mupadIdentifier ViewingBoxYMin ViewingBoxYMax ViewingBoxYRange
192syn keyword mupadIdentifier ViewingBoxZMin ViewingBoxZMax ViewingBoxZRange
193syn keyword mupadIdentifier Visible
194" graphics Axis Attributes
195syn keyword mupadIdentifier Axes AxesInFront AxesLineColor AxesLineWidth
196syn keyword mupadIdentifier AxesOrigin AxesOriginX AxesOriginY AxesOriginZ
197syn keyword mupadIdentifier AxesTips AxesTitleAlignment
198syn keyword mupadIdentifier AxesTitleAlignmentX AxesTitleAlignmentY AxesTitleAlignmentZ
199syn keyword mupadIdentifier AxesTitles XAxisTitle YAxisTitle ZAxisTitle
200syn keyword mupadIdentifier AxesVisible XAxisVisible YAxisVisible ZAxisVisible
201syn keyword mupadIdentifier YAxisTitleOrientation
202" graphics Tick Marks Attributes
203syn keyword mupadIdentifier TicksAnchor XTicksAnchor YTicksAnchor ZTicksAnchor
204syn keyword mupadIdentifier TicksAt XTicksAt YTicksAt ZTicksAt
205syn keyword mupadIdentifier TicksBetween XTicksBetween YTicksBetween ZTicksBetween
206syn keyword mupadIdentifier TicksDistance XTicksDistance YTicksDistance ZTicksDistance
207syn keyword mupadIdentifier TicksNumber XTicksNumber YTicksNumber ZTicksNumber
208syn keyword mupadIdentifier TicksVisible XTicksVisible YTicksVisible ZTicksVisible
209syn keyword mupadIdentifier TicksLength TicksLabelStyle
210syn keyword mupadIdentifier XTicksLabelStyle YTicksLabelStyle ZTicksLabelStyle
211syn keyword mupadIdentifier TicksLabelsVisible
212syn keyword mupadIdentifier XTicksLabelsVisible YTicksLabelsVisible ZTicksLabelsVisible
213" graphics Grid Lines Attributes
214syn keyword mupadIdentifier GridInFront GridLineColor SubgridLineColor
215syn keyword mupadIdentifier GridLineStyle SubgridLineStyle GridLineWidth SubgridLineWidth
216syn keyword mupadIdentifier GridVisible XGridVisible YGridVisible ZGridVisible
217syn keyword mupadIdentifier SubgridVisible XSubgridVisible YSubgridVisible ZSubgridVisible
218" graphics Animation Attributes
219syn keyword mupadIdentifier Frames TimeRange TimeBegin TimeEnd
220syn keyword mupadIdentifier VisibleAfter VisibleBefore VisibleFromTo
221syn keyword mupadIdentifier VisibleAfterEnd VisibleBeforeBegin
222" graphics Annotation Attributes
223syn keyword mupadIdentifier Footer Header FooterAlignment HeaderAlignment
224syn keyword mupadIdentifier HorizontalAlignment TitleAlignment VerticalAlignment
225syn keyword mupadIdentifier Legend LegendEntry LegendText
226syn keyword mupadIdentifier LegendAlignment LegendPlacement LegendVisible
227syn keyword mupadIdentifier Title Titles
228syn keyword mupadIdentifier TitlePosition TitlePositionX TitlePositionY TitlePositionZ
229" graphics Layout Attributes
230syn keyword mupadIdentifier Bottom Left Height Width Layout Rows Columns
231syn keyword mupadIdentifier Margin BottomMargin TopMargin LeftMargin RightMargin
232syn keyword mupadIdentifier OutputUnits Spacing
233" graphics Calculation Attributes
234syn keyword mupadIdentifier AdaptiveMesh DiscontinuitySearch Mesh SubMesh
235syn keyword mupadIdentifier UMesh USubMesh VMesh VSubMesh
236syn keyword mupadIdentifier XMesh XSubMesh YMesh YSubMesh Zmesh
237" graphics Camera and Lights Attributes
238syn keyword mupadIdentifier CameraCoordinates CameraDirection
239syn keyword mupadIdentifier CameraDirectionX CameraDirectionY CameraDirectionZ
240syn keyword mupadIdentifier FocalPoint FocalPointX FocalPointY FocalPointZ
241syn keyword mupadIdentifier LightColor Lighting LightIntensity OrthogonalProjection
242syn keyword mupadIdentifier SpotAngle ViewingAngle
243syn keyword mupadIdentifier Target TargetX TargetY TargetZ
244" graphics Presentation Style and Fonts Attributes
245syn keyword mupadIdentifier ArrowLength
246syn keyword mupadIdentifier AxesTitleFont FooterFont HeaderFont LegendFont
247syn keyword mupadIdentifier TextFont TicksLabelFont TitleFont
248syn keyword mupadIdentifier BackgroundColor BackgroundColor2 BackgroundStyle
249syn keyword mupadIdentifier BackgroundTransparent Billboarding BorderColor BorderWidth
250syn keyword mupadIdentifier BoxCenters BoxWidths DrawMode Gap XGap YGap
251syn keyword mupadIdentifier Notched NotchWidth Scaling YXRatio ZXRatio
252syn keyword mupadIdentifier VerticalAsymptotesVisible VerticalAsymptotesStyle
253syn keyword mupadIdentifier VerticalAsymptotesColor VerticalAsymptotesWidth
254" graphics Line Style Attributes
255syn keyword mupadIdentifier LineColor LineColor2 LineColorType LineStyle
256syn keyword mupadIdentifier LinesVisible ULinesVisible VLinesVisible XLinesVisible
257syn keyword mupadIdentifier YLinesVisible LineWidth MeshVisible
258" graphics Point Style Attributes
259syn keyword mupadIdentifier PointColor PointSize PointStyle PointsVisible
260" graphics Surface Style Attributes
261syn keyword mupadIdentifier BarStyle Shadows Color Colors FillColor FillColor2
262syn keyword mupadIdentifier FillColorTrue FillColorFalse FillColorUnknown FillColorType
263syn keyword mupadIdentifier Filled FillPattern FillPatterns FillStyle
264syn keyword mupadIdentifier InterpolationStyle Shading UseNormals
265" graphics Arrow Style Attributes
266syn keyword mupadIdentifier TipAngle TipLength TipStyle TubeDiameter
267syn keyword mupadIdentifier Tubular
268" graphics meta-documentation Attributes
269syn keyword mupadIdentifier objectGroupsListed
270
271if version >= 508 || !exists("did_mupad_syntax_inits")
272 if version < 508
273 let did_mupad_syntax_inits = 1
274 command -nargs=+ HiLink hi link <args>
275 else
276 command -nargs=+ HiLink hi def link <args>
277 endif
278
279 HiLink mupadComment Comment
280 HiLink mupadString String
281 HiLink mupadOperator Operator
282 HiLink mupadSpecial Special
283 HiLink mupadStatement Statement
284 HiLink mupadUnderlined Underlined
285 HiLink mupadConditional Conditional
286 HiLink mupadRepeat Repeat
287 HiLink mupadFunction Function
288 HiLink mupadType Type
289 HiLink mupadDefine Define
290 HiLink mupadIdentifier Identifier
291
292 delcommand HiLink
293endif
294
295" TODO More comprehensive listing.