mirror of
				https://github.com/neovim/neovim.git
				synced 2025-10-26 04:17:01 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			141 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			141 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
| " Language:     ampl (A Mathematical Programming Language)
 | |
| " Maintainer:   Krief David <david.krief@etu.enseeiht.fr> or <david_krief@hotmail.com>
 | |
| " Last Change:  2003 May 11
 | |
| 
 | |
| 
 | |
| " quit when a syntax file was already loaded
 | |
| if exists("b:current_syntax")
 | |
|  finish
 | |
| endif
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| "--
 | |
| syn match   amplEntityKeyword     "\(subject to\)\|\(subj to\)\|\(s\.t\.\)"
 | |
| syn keyword amplEntityKeyword	  minimize   maximize  objective
 | |
| 
 | |
| syn keyword amplEntityKeyword	  coeff      coef      cover	    obj       default
 | |
| syn keyword amplEntityKeyword	  from	     to        to_come	    net_in    net_out
 | |
| syn keyword amplEntityKeyword	  dimen      dimension
 | |
| 
 | |
| 
 | |
| 
 | |
| "--
 | |
| syn keyword amplType		  integer    binary    set	    param     var
 | |
| syn keyword amplType		  node	     ordered   circular     reversed  symbolic
 | |
| syn keyword amplType		  arc
 | |
| 
 | |
| 
 | |
| 
 | |
| "--
 | |
| syn keyword amplStatement	  check      close     \display     drop      include
 | |
| syn keyword amplStatement	  print      printf    quit	    reset     restore
 | |
| syn keyword amplStatement	  solve      update    write	    shell     model
 | |
| syn keyword amplStatement	  data	     option    let	    solution  fix
 | |
| syn keyword amplStatement	  unfix      end       function     pipe      format
 | |
| 
 | |
| 
 | |
| 
 | |
| "--
 | |
| syn keyword amplConditional	  if	     then      else	    and       or
 | |
| syn keyword amplConditional	  exists     forall    in	    not       within
 | |
| 
 | |
| 
 | |
| 
 | |
| "--
 | |
| syn keyword amplRepeat		  while      repeat    for
 | |
| 
 | |
| 
 | |
| 
 | |
| "--
 | |
| syn keyword amplOperators	  union      diff      difference   symdiff   sum
 | |
| syn keyword amplOperators	  inter      intersect intersection cross     setof
 | |
| syn keyword amplOperators	  by	     less      mod	    div       product
 | |
| "syn keyword amplOperators	   min	      max
 | |
| "conflict between functions max, min and operators max, min
 | |
| 
 | |
| syn match   amplBasicOperators    "||\|<=\|==\|\^\|<\|=\|!\|-\|\.\.\|:="
 | |
| syn match   amplBasicOperators    "&&\|>=\|!=\|\*\|>\|:\|/\|+\|\*\*"
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| "--
 | |
| syn match   amplComment		"\#.*"
 | |
| syn region  amplComment		start=+\/\*+		  end=+\*\/+
 | |
| 
 | |
| syn region  amplStrings		start=+\'+    skip=+\\'+  end=+\'+
 | |
| syn region  amplStrings		start=+\"+    skip=+\\"+  end=+\"+
 | |
| 
 | |
| syn match   amplNumerics	"[+-]\=\<\d\+\(\.\d\+\)\=\([dDeE][-+]\=\d\+\)\=\>"
 | |
| syn match   amplNumerics	"[+-]\=Infinity"
 | |
| 
 | |
| 
 | |
| "--
 | |
| syn keyword amplSetFunction	  card	     next     nextw	  prev	    prevw
 | |
| syn keyword amplSetFunction	  first      last     member	  ord	    ord0
 | |
| 
 | |
| syn keyword amplBuiltInFunction   abs	     acos     acosh	  alias     asin
 | |
| syn keyword amplBuiltInFunction   asinh      atan     atan2	  atanh     ceil
 | |
| syn keyword amplBuiltInFunction   cos	     exp      floor	  log	    log10
 | |
| syn keyword amplBuiltInFunction   max	     min      precision   round     sin
 | |
| syn keyword amplBuiltInFunction   sinh	     sqrt     tan	  tanh	    trunc
 | |
| 
 | |
| syn keyword amplRandomGenerator   Beta	     Cauchy   Exponential Gamma     Irand224
 | |
| syn keyword amplRandomGenerator   Normal     Poisson  Uniform	  Uniform01
 | |
| 
 | |
| 
 | |
| 
 | |
| "-- to highlight the 'dot-suffixes'
 | |
| syn match   amplDotSuffix	"\h\w*\.\(lb\|ub\)"hs=e-2
 | |
| syn match   amplDotSuffix	"\h\w*\.\(lb0\|lb1\|lb2\|lrc\|ub0\)"hs=e-3
 | |
| syn match   amplDotSuffix	"\h\w*\.\(ub1\|ub2\|urc\|val\|lbs\|ubs\)"hs=e-3
 | |
| syn match   amplDotSuffix	"\h\w*\.\(init\|body\|dinit\|dual\)"hs=e-4
 | |
| syn match   amplDotSuffix	"\h\w*\.\(init0\|ldual\|slack\|udual\)"hs=e-5
 | |
| syn match   amplDotSuffix	"\h\w*\.\(lslack\|uslack\|dinit0\)"hs=e-6
 | |
| 
 | |
| 
 | |
| 
 | |
| "--
 | |
| syn match   amplPiecewise	"<<\|>>"
 | |
| 
 | |
| 
 | |
| 
 | |
| "-- Todo.
 | |
| syn keyword amplTodo contained	 TODO FIXME XXX
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| " The default methods for highlighting. Can be overridden later.
 | |
| hi def link amplEntityKeyword	Keyword
 | |
| hi def link amplType		Type
 | |
| hi def link amplStatement		Statement
 | |
| hi def link amplOperators		Operator
 | |
| hi def link amplBasicOperators	Operator
 | |
| hi def link amplConditional	Conditional
 | |
| hi def link amplRepeat		Repeat
 | |
| hi def link amplStrings		String
 | |
| hi def link amplNumerics		Number
 | |
| hi def link amplSetFunction	Function
 | |
| hi def link amplBuiltInFunction	Function
 | |
| hi def link amplRandomGenerator	Function
 | |
| hi def link amplComment		Comment
 | |
| hi def link amplDotSuffix		Special
 | |
| hi def link amplPiecewise		Special
 | |
| 
 | |
| 
 | |
| let b:current_syntax = "ampl"
 | |
| 
 | |
| " vim: ts=8
 | |
| 
 | |
| 
 | 
