mirror of
https://github.com/neovim/neovim.git
synced 2024-12-20 03:05:11 -07:00
151 lines
4.2 KiB
VimL
151 lines
4.2 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
|
||
|
|
||
|
|
||
|
if version < 600
|
||
|
syntax clear
|
||
|
elseif 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
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
if version >= 508 || !exists("did_ampl_syntax_inits")
|
||
|
if version < 508
|
||
|
let did_ampl_syntax_inits = 1
|
||
|
command -nargs=+ HiLink hi link <args>
|
||
|
else
|
||
|
command -nargs=+ HiLink hi def link <args>
|
||
|
endif
|
||
|
|
||
|
" The default methods for highlighting. Can be overridden later.
|
||
|
HiLink amplEntityKeyword Keyword
|
||
|
HiLink amplType Type
|
||
|
HiLink amplStatement Statement
|
||
|
HiLink amplOperators Operator
|
||
|
HiLink amplBasicOperators Operator
|
||
|
HiLink amplConditional Conditional
|
||
|
HiLink amplRepeat Repeat
|
||
|
HiLink amplStrings String
|
||
|
HiLink amplNumerics Number
|
||
|
HiLink amplSetFunction Function
|
||
|
HiLink amplBuiltInFunction Function
|
||
|
HiLink amplRandomGenerator Function
|
||
|
HiLink amplComment Comment
|
||
|
HiLink amplDotSuffix Special
|
||
|
HiLink amplPiecewise Special
|
||
|
|
||
|
delcommand HiLink
|
||
|
endif
|
||
|
|
||
|
let b:current_syntax = "ampl"
|
||
|
|
||
|
" vim: ts=8
|
||
|
|
||
|
|