neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

maxima.vim (18802B)


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