Mercurial > hg > RemoteEditor > vim7
comparison runtime/syntax/maxima.vim @ 0:76efa0be13f1
Initial revision
author | atsuki |
---|---|
date | Sat, 10 Nov 2007 15:07:22 +0900 |
parents | |
children | c16898406ff2 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:76efa0be13f1 |
---|---|
1 " Vim syntax file | |
2 " Language: Maxima (symbolic algebra program) | |
3 " Maintainer: Robert Dodier (robert.dodier@gmail.com) | |
4 " Last Change: April 6, 2006 | |
5 " Version: 1 | |
6 " Adapted mostly from xmath.vim | |
7 " Number formats adapted from r.vim | |
8 " | |
9 " For version 5.x: Clear all syntax items | |
10 " For version 6.x: Quit when a syntax file was already loaded | |
11 if version < 600 | |
12 syntax clear | |
13 elseif exists("b:current_syntax") | |
14 finish | |
15 endif | |
16 | |
17 syn sync lines=1000 | |
18 | |
19 " parenthesis sanity checker | |
20 syn region maximaZone matchgroup=Delimiter start="(" matchgroup=Delimiter end=")" transparent contains=ALLBUT,maximaError,maximaBraceError,maximaCurlyError | |
21 syn region maximaZone matchgroup=Delimiter start="{" matchgroup=Delimiter end="}" transparent contains=ALLBUT,maximaError,maximaBraceError,maximaParenError | |
22 syn region maximaZone matchgroup=Delimiter start="\[" matchgroup=Delimiter end="]" transparent contains=ALLBUT,maximaError,maximaCurlyError,maximaParenError | |
23 syn match maximaError "[)\]}]" | |
24 syn match maximaBraceError "[)}]" contained | |
25 syn match maximaCurlyError "[)\]]" contained | |
26 syn match maximaParenError "[\]}]" contained | |
27 syn match maximaComma "[\[\](),;]" | |
28 syn match maximaComma "\.\.\.$" | |
29 | |
30 " A bunch of useful maxima keywords | |
31 syn keyword maximaConditional if then else elseif and or not | |
32 syn keyword maximaRepeat do for thru | |
33 | |
34 " ---------------------- BEGIN LIST OF ALL FUNCTIONS (EXCEPT KEYWORDS) ---------------------- | |
35 syn keyword maximaFunc abasep abs absboxchar absint acos acosh acot acoth acsc | |
36 syn keyword maximaFunc acsch activate activecontexts addcol additive addrow adim | |
37 syn keyword maximaFunc adjoint af aform airy algebraic algepsilon algexact algsys | |
38 syn keyword maximaFunc alg_type alias aliases allbut all_dotsimp_denoms allroots allsym | |
39 syn keyword maximaFunc alphabetic antid antidiff antisymmetric append appendfile | |
40 syn keyword maximaFunc apply apply1 apply2 applyb1 apropos args array arrayapply | |
41 syn keyword maximaFunc arrayinfo arraymake arrays asec asech asin asinh askexp | |
42 syn keyword maximaFunc askinteger asksign assoc assoc_legendre_p assoc_legendre_q assume | |
43 syn keyword maximaFunc assume_pos assume_pos_pred assumescalar asymbol asympa at atan | |
44 syn keyword maximaFunc atan2 atanh atensimp atom atomgrad atrig1 atvalue augcoefmatrix | |
45 syn keyword maximaFunc av backsubst backtrace bashindices batch batchload bc2 bdvac | |
46 syn keyword maximaFunc berlefact bern bernpoly bessel besselexpand bessel_i bessel_j | |
47 syn keyword maximaFunc bessel_k bessel_y beta bezout bffac bfhzeta bfloat bfloatp | |
48 syn keyword maximaFunc bfpsi bfpsi0 bftorat bftrunc bfzeta bimetric binomial block | |
49 syn keyword maximaFunc bothcoef box boxchar break breakup bug_report build_info buildq | |
50 syn keyword maximaFunc burn cabs canform canten carg cartan catch cauchysum cbffac | |
51 syn keyword maximaFunc cdisplay cf cfdisrep cfexpand cflength cframe_flag cgeodesic | |
52 syn keyword maximaFunc changename changevar charpoly checkdiv check_overlaps christof | |
53 syn keyword maximaFunc clear_rules closefile closeps cmetric cnonmet_flag coeff | |
54 syn keyword maximaFunc coefmatrix cograd col collapse columnvector combine commutative | |
55 syn keyword maximaFunc comp2pui compfile compile compile_file components concan concat | |
56 syn keyword maximaFunc conj conjugate conmetderiv cons constant constantp cont2part | |
57 syn keyword maximaFunc content context contexts contortion contract contragrad coord | |
58 syn keyword maximaFunc copylist copymatrix cos cosh cosnpiflag cot coth covdiff | |
59 syn keyword maximaFunc covect create_list csc csch csetup ctaylor ctaypov ctaypt | |
60 syn keyword maximaFunc ctayswitch ctayvar ct_coords ct_coordsys ctorsion_flag ctransform | |
61 syn keyword maximaFunc ctrgsimp current_let_rule_package dblint deactivate debugmode | |
62 syn keyword maximaFunc declare declare_translated declare_weight decsym | |
63 syn keyword maximaFunc default_let_rule_package defcon define define_variable defint | |
64 syn keyword maximaFunc defmatch defrule deftaylor del delete deleten delta demo | |
65 syn keyword maximaFunc demoivre denom dependencies depends derivabbrev derivdegree | |
66 syn keyword maximaFunc derivlist derivsubst describe desolve determinant detout | |
67 syn keyword maximaFunc diagmatrix diagmatrixp diagmetric diff dim dimension direct | |
68 syn keyword maximaFunc disolate disp dispcon dispflag dispform dispfun display | |
69 syn keyword maximaFunc display2d display_format_internal disprule dispterms distrib | |
70 syn keyword maximaFunc divide divsum doallmxops domain domxexpt domxmxops domxnctimes | |
71 syn keyword maximaFunc dontfactor doscmxops doscmxplus dot0nscsimp dot0simp dot1simp | |
72 syn keyword maximaFunc dotassoc dotconstrules dotdistrib dotexptsimp dotident dotscrules | |
73 syn keyword maximaFunc dotsimp dpart dscalar %e echelon %edispflag eigenvalues | |
74 syn keyword maximaFunc eigenvectors eighth einstein eivals eivects ele2comp | |
75 syn keyword maximaFunc ele2polynome ele2pui elem eliminate elliptic_e elliptic_ec | |
76 syn keyword maximaFunc elliptic_eu elliptic_f elliptic_kc elliptic_pi ematrix %emode | |
77 syn keyword maximaFunc endcons entermatrix entertensor entier %enumer equal equalp erf | |
78 syn keyword maximaFunc erfflag errcatch error errormsg error_size error_syms | |
79 syn keyword maximaFunc %e_to_numlog euler ev eval evenp every evflag evfun evundiff | |
80 syn keyword maximaFunc example exp expand expandwrt expandwrt_denom expandwrt_factored | |
81 syn keyword maximaFunc explose expon exponentialize expop express expt exptdispflag | |
82 syn keyword maximaFunc exptisolate exptsubst extdiff extract_linear_equations ezgcd | |
83 syn keyword maximaFunc facexpand factcomb factlim factor factorflag factorial factorout | |
84 syn keyword maximaFunc factorsum facts false fast_central_elements fast_linsolve | |
85 syn keyword maximaFunc fasttimes fb feature featurep features fft fib fibtophi fifth | |
86 syn keyword maximaFunc filename_merge file_search file_search_demo file_search_lisp | |
87 syn keyword maximaFunc file_search_maxima file_type fillarray findde first fix flatten | |
88 syn keyword maximaFunc flipflag float float2bf floatnump flush flush1deriv flushd | |
89 syn keyword maximaFunc flushnd forget fortindent fortran fortspaces fourcos fourexpand | |
90 syn keyword maximaFunc fourier fourint fourintcos fourintsin foursimp foursin fourth | |
91 syn keyword maximaFunc fpprec fpprintprec frame_bracket freeof fullmap fullmapl | |
92 syn keyword maximaFunc fullratsimp fullratsubst funcsolve functions fundef funmake funp | |
93 syn keyword maximaFunc gamma %gamma gammalim gauss gcd gcdex gcfactor gdet genfact | |
94 syn keyword maximaFunc genindex genmatrix gensumnum get getchar gfactor gfactorsum | |
95 syn keyword maximaFunc globalsolve go gradef gradefs gramschmidt grind grobner_basis | |
96 syn keyword maximaFunc gschmit hach halfangles hermite hipow hodge horner i0 i1 | |
97 syn keyword maximaFunc *read-base* ic1 ic2 icc1 icc2 ic_convert ichr1 ichr2 icounter | |
98 syn keyword maximaFunc icurvature ident idiff idim idummy idummyx ieqn ieqnprint ifb | |
99 syn keyword maximaFunc ifc1 ifc2 ifg ifgi ifr iframe_bracket_form iframes ifri ift | |
100 syn keyword maximaFunc igeodesic_coords igeowedge_flag ikt1 ikt2 ilt imagpart imetric | |
101 syn keyword maximaFunc inchar indexed_tensor indices inf %inf infeval infinity infix | |
102 syn keyword maximaFunc inflag infolists init_atensor init_ctensor inm inmc1 inmc2 | |
103 syn keyword maximaFunc innerproduct in_netmath inpart inprod inrt integerp integrate | |
104 syn keyword maximaFunc integrate_use_rootsof integration_constant_counter interpolate | |
105 syn keyword maximaFunc intfaclim intopois intosum intpolabs intpolerror intpolrel | |
106 syn keyword maximaFunc invariant1 invariant2 inverse_jacobi_cd inverse_jacobi_cn | |
107 syn keyword maximaFunc inverse_jacobi_cs inverse_jacobi_dc inverse_jacobi_dn | |
108 syn keyword maximaFunc inverse_jacobi_ds inverse_jacobi_nc inverse_jacobi_nd | |
109 syn keyword maximaFunc inverse_jacobi_ns inverse_jacobi_sc inverse_jacobi_sd | |
110 syn keyword maximaFunc inverse_jacobi_sn invert is ishow isolate isolate_wrt_times | |
111 syn keyword maximaFunc isqrt itr j0 j1 jacobi jacobi_cd jacobi_cn jacobi_cs jacobi_dc | |
112 syn keyword maximaFunc jacobi_dn jacobi_ds jacobi_nc jacobi_nd jacobi_ns jacobi_sc | |
113 syn keyword maximaFunc jacobi_sd jacobi_sn jn kdels kdelta keepfloat kill killcontext | |
114 syn keyword maximaFunc kinvariant kostka kt labels lambda laplace lassociative last | |
115 syn keyword maximaFunc lc2kdt lc_l lcm lc_u ldefint ldisp ldisplay leinstein length | |
116 syn keyword maximaFunc let letrat let_rule_packages letrules letsimp levi_civita lfg | |
117 syn keyword maximaFunc lfreeof lg lgtreillis lhospitallim lhs liediff limit limsubst | |
118 syn keyword maximaFunc linear linechar linel linenum linsolve linsolve_params | |
119 syn keyword maximaFunc linsolvewarn listarith listarray listconstvars listdummyvars | |
120 syn keyword maximaFunc list_nc_monomials listoftens listofvars listp lmxchar load | |
121 syn keyword maximaFunc loadfile loadprint local log logabs logarc logconcoeffp | |
122 syn keyword maximaFunc logcontract logexpand lognegint lognumer logsimp lopow | |
123 syn keyword maximaFunc lorentz_gauge lpart lratsubst lriem lriemann lsum ltreillis | |
124 syn keyword maximaFunc m1pbranch macroexpansion mainvar make_array makebox makefact | |
125 syn keyword maximaFunc makegamma makelist make_random_state make_transform map mapatom | |
126 syn keyword maximaFunc maperror maplist matchdeclare matchfix matrix matrix_element_add | |
127 syn keyword maximaFunc matrix_element_mult matrix_element_transpose matrixmap matrixp | |
128 syn keyword maximaFunc mattrace max maxapplydepth maxapplyheight maxnegex maxposex | |
129 syn keyword maximaFunc maxtayorder member min %minf minfactorial minor mod | |
130 syn keyword maximaFunc mode_check_errorp mode_checkp mode_check_warnp mode_declare | |
131 syn keyword maximaFunc mode_identity modulus mon2schur mono monomial_dimensions | |
132 syn keyword maximaFunc multi_elem multinomial multi_orbit multiplicative multiplicities | |
133 syn keyword maximaFunc multi_pui multsym multthru myoptions nc_degree ncexpt ncharpoly | |
134 syn keyword maximaFunc negdistrib negsumdispflag newcontext newdet newton niceindices | |
135 syn keyword maximaFunc niceindicespref ninth nm nmc noeval nolabels nonmetricity | |
136 syn keyword maximaFunc nonscalar nonscalarp noun noundisp nounify nouns np npi | |
137 syn keyword maximaFunc nptetrad nroots nterms ntermst nthroot ntrig num numberp numer | |
138 syn keyword maximaFunc numerval numfactor nusum obase oddp ode2 op openplot_curves | |
139 syn keyword maximaFunc operatorp opproperties opsubst optimize optimprefix optionset | |
140 syn keyword maximaFunc orbit ordergreat ordergreatp orderless orderlessp outative | |
141 syn keyword maximaFunc outchar outermap outofpois packagefile pade part part2cont | |
142 syn keyword maximaFunc partfrac partition partpol partswitch permanent permut petrov | |
143 syn keyword maximaFunc pfeformat pi pickapart piece playback plog plot2d plot2d_ps | |
144 syn keyword maximaFunc plot3d plot_options poisdiff poisexpt poisint poislim poismap | |
145 syn keyword maximaFunc poisplus poissimp poisson poissubst poistimes poistrim polarform | |
146 syn keyword maximaFunc polartorect polynome2ele posfun potential powerdisp powers | |
147 syn keyword maximaFunc powerseries pred prederror primep print printpois printprops | |
148 syn keyword maximaFunc prodhack prodrac product programmode prompt properties props | |
149 syn keyword maximaFunc propvars pscom psdraw_curve psexpand psi pui pui2comp pui2ele | |
150 syn keyword maximaFunc pui2polynome pui_direct puireduc put qput qq quad_qag quad_qagi | |
151 syn keyword maximaFunc quad_qags quad_qawc quad_qawf quad_qawo quad_qaws quanc8 quit | |
152 syn keyword maximaFunc qunit quotient radcan radexpand radsubstflag random rank | |
153 syn keyword maximaFunc rassociative rat ratalgdenom ratchristof ratcoef ratdenom | |
154 syn keyword maximaFunc ratdenomdivide ratdiff ratdisrep rateinstein ratepsilon ratexpand | |
155 syn keyword maximaFunc ratfac ratmx ratnumer ratnump ratp ratprint ratriemann ratsimp | |
156 syn keyword maximaFunc ratsimpexpons ratsubst ratvars ratweight ratweights ratweyl | |
157 syn keyword maximaFunc ratwtlvl read readonly realonly realpart realroots rearray | |
158 syn keyword maximaFunc rectform recttopolar rediff refcheck rem remainder remarray | |
159 syn keyword maximaFunc rembox remcomps remcon remcoord remfun remfunction remlet | |
160 syn keyword maximaFunc remove remrule remsym remvalue rename reset residue resolvante | |
161 syn keyword maximaFunc resolvante_alternee1 resolvante_bipartite resolvante_diedrale | |
162 syn keyword maximaFunc resolvante_klein resolvante_klein3 resolvante_produit_sym | |
163 syn keyword maximaFunc resolvante_unitaire resolvante_vierer rest resultant return | |
164 syn keyword maximaFunc reveal reverse revert revert2 rhs ric ricci riem riemann | |
165 syn keyword maximaFunc rinvariant risch rmxchar rncombine %rnum_list romberg rombergabs | |
166 syn keyword maximaFunc rombergit rombergmin rombergtol room rootsconmode rootscontract | |
167 syn keyword maximaFunc rootsepsilon round row run_testsuite save savedef savefactors | |
168 syn keyword maximaFunc scalarmatrixp scalarp scalefactors scanmap schur2comp sconcat | |
169 syn keyword maximaFunc scsimp scurvature sec sech second setcheck setcheckbreak | |
170 syn keyword maximaFunc setelmx set_plot_option set_random_state setup_autoload | |
171 syn keyword maximaFunc set_up_dot_simplifications setval seventh sf show showcomps | |
172 syn keyword maximaFunc showratvars showtime sign signum similaritytransform simpsum | |
173 syn keyword maximaFunc simtran sin sinh sinnpiflag sixth solve solvedecomposes | |
174 syn keyword maximaFunc solveexplicit solvefactors solve_inconsistent_error solvenullwarn | |
175 syn keyword maximaFunc solveradcan solvetrigwarn somrac sort sparse spherical_bessel_j | |
176 syn keyword maximaFunc spherical_bessel_y spherical_hankel1 spherical_hankel2 | |
177 syn keyword maximaFunc spherical_harmonic splice sqfr sqrt sqrtdispflag sstatus | |
178 syn keyword maximaFunc stardisp status string stringout sublis sublis_apply_lambda | |
179 syn keyword maximaFunc sublist submatrix subst substinpart substpart subvarp sum | |
180 syn keyword maximaFunc sumcontract sumexpand sumhack sumsplitfact supcontext symbolp | |
181 syn keyword maximaFunc symmetric symmetricp system tan tanh taylor taylordepth | |
182 syn keyword maximaFunc taylorinfo taylor_logexpand taylor_order_coefficients taylorp | |
183 syn keyword maximaFunc taylor_simplifier taylor_truncate_polynomials taytorat tcl_output | |
184 syn keyword maximaFunc tcontract tellrat tellsimp tellsimpafter tensorkill tentex tenth | |
185 syn keyword maximaFunc tex %th third throw time timer timer_devalue timer_info | |
186 syn keyword maximaFunc tldefint tlimit tlimswitch todd_coxeter to_lisp totaldisrep | |
187 syn keyword maximaFunc totalfourier totient tpartpol tr trace trace_options | |
188 syn keyword maximaFunc transcompile translate translate_file transpose transrun | |
189 syn keyword maximaFunc tr_array_as_ref tr_bound_function_applyp treillis treinat | |
190 syn keyword maximaFunc tr_file_tty_messagesp tr_float_can_branch_complex | |
191 syn keyword maximaFunc tr_function_call_default triangularize trigexpand trigexpandplus | |
192 syn keyword maximaFunc trigexpandtimes triginverses trigrat trigreduce trigsign trigsimp | |
193 syn keyword maximaFunc tr_numer tr_optimize_max_loop tr_semicompile tr_state_vars true | |
194 syn keyword maximaFunc trunc truncate tr_warn_bad_function_calls tr_warn_fexpr | |
195 syn keyword maximaFunc tr_warnings_get tr_warn_meval tr_warn_mode tr_warn_undeclared | |
196 syn keyword maximaFunc tr_warn_undefined_variable tr_windy ttyoff ueivects ufg ug | |
197 syn keyword maximaFunc ultraspherical undiff uniteigenvectors unitvector unknown unorder | |
198 syn keyword maximaFunc unsum untellrat untimer untrace uric uricci uriem uriemann | |
199 syn keyword maximaFunc use_fast_arrays uvect values vect_cross vectorpotential | |
200 syn keyword maximaFunc vectorsimp verb verbify verbose weyl with_stdout writefile | |
201 syn keyword maximaFunc xgraph_curves xthru zerobern zeroequiv zeromatrix zeta zeta%pi | |
202 syn match maximaOp "[\*\/\+\-\#\!\~\^\=\:\<\>\@]" | |
203 " ---------------------- END LIST OF ALL FUNCTIONS (EXCEPT KEYWORDS) ---------------------- | |
204 | |
205 | |
206 syn case match | |
207 | |
208 " Labels (supports maxima's goto) | |
209 syn match maximaLabel "^\s*<[a-zA-Z_][a-zA-Z0-9%_]*>" | |
210 | |
211 " String and Character constants | |
212 " Highlight special characters (those which have a backslash) differently | |
213 syn match maximaSpecial contained "\\\d\d\d\|\\." | |
214 syn region maximaString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=maximaSpecial | |
215 syn match maximaCharacter "'[^\\]'" | |
216 syn match maximaSpecialChar "'\\.'" | |
217 | |
218 " number with no fractional part or exponent | |
219 syn match maximaNumber /\<\d\+\>/ | |
220 " floating point number with integer and fractional parts and optional exponent | |
221 syn match maximaFloat /\<\d\+\.\d*\([BbDdEeSs][-+]\=\d\+\)\=\>/ | |
222 " floating point number with no integer part and optional exponent | |
223 syn match maximaFloat /\<\.\d\+\([BbDdEeSs][-+]\=\d\+\)\=\>/ | |
224 " floating point number with no fractional part and optional exponent | |
225 syn match maximaFloat /\<\d\+[BbDdEeSs][-+]\=\d\+\>/ | |
226 | |
227 " Comments: | |
228 " maxima supports /* ... */ (like C) | |
229 syn keyword maximaTodo contained TODO Todo DEBUG | |
230 syn region maximaCommentBlock start="/\*" end="\*/" contains=maximaString,maximaTodo | |
231 | |
232 " synchronizing | |
233 syn sync match maximaSyncComment grouphere maximaCommentBlock "/*" | |
234 syn sync match maximaSyncComment groupthere NONE "*/" | |
235 | |
236 " Define the default highlighting. | |
237 " For version 5.7 and earlier: only when not done already | |
238 " For version 5.8 and later: only when an item doesn't have highlighting yet | |
239 if version >= 508 || !exists("did_maxima_syntax_inits") | |
240 if version < 508 | |
241 let did_maxima_syntax_inits = 1 | |
242 command -nargs=+ HiLink hi link <args> | |
243 else | |
244 command -nargs=+ HiLink hi def link <args> | |
245 endif | |
246 | |
247 HiLink maximaBraceError maximaError | |
248 HiLink maximaCmd maximaStatement | |
249 HiLink maximaCurlyError maximaError | |
250 HiLink maximaFuncCmd maximaStatement | |
251 HiLink maximaParenError maximaError | |
252 | |
253 " The default methods for highlighting. Can be overridden later | |
254 HiLink maximaCharacter Character | |
255 HiLink maximaComma Function | |
256 HiLink maximaCommentBlock Comment | |
257 HiLink maximaConditional Conditional | |
258 HiLink maximaError Error | |
259 HiLink maximaFunc Delimiter | |
260 HiLink maximaOp Delimiter | |
261 HiLink maximaLabel PreProc | |
262 HiLink maximaNumber Number | |
263 HiLink maximaFloat Float | |
264 HiLink maximaRepeat Repeat | |
265 HiLink maximaSpecial Type | |
266 HiLink maximaSpecialChar SpecialChar | |
267 HiLink maximaStatement Statement | |
268 HiLink maximaString String | |
269 HiLink maximaTodo Todo | |
270 | |
271 delcommand HiLink | |
272 endif | |
273 | |
274 let b:current_syntax = "maxima" |