diff runtime/syntax/maxima.vim @ 825:6675076019ae v7.0d

updated for version 7.0d
author vimboss
date Mon, 10 Apr 2006 14:55:34 +0000
parents
children 7bc41231fbc7
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/runtime/syntax/maxima.vim
@@ -0,0 +1,274 @@
+" 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
+
+" 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"