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