diff options
Diffstat (limited to 'vim73/syntax/form.vim')
-rw-r--r-- | vim73/syntax/form.vim | 158 |
1 files changed, 158 insertions, 0 deletions
diff --git a/vim73/syntax/form.vim b/vim73/syntax/form.vim new file mode 100644 index 0000000..19a47ed --- /dev/null +++ b/vim73/syntax/form.vim @@ -0,0 +1,158 @@ +" Vim syntax file +" Language: FORM +" Version: 2.0 +" Maintainer: Michael M. Tung <michael.tung@uni-mainz.de> +" Last Change: <Thu Oct 23 13:11:21 CEST 2008> +" Past Change: <October 2008 Thomas Reiter thomasr@nikhef.nl> +" Past Change: <Wed, 2005/05/25 09:24:58 arwagner wptx44> + +" First public release based on 'Symbolic Manipulation with FORM' +" by J.A.M. Vermaseren, CAN, Netherlands, 1991. +" This syntax file is still in development. Please send suggestions +" to the maintainer. + +" 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 case ignore + +" a bunch of useful FORM keywords +syn keyword formType global local +syn keyword formHeaderStatement symbol symbols cfunction cfunctions +syn keyword formHeaderStatement function functions vector vectors +syn keyword formHeaderStatement tensor tensors ctensor ctensors +syn keyword formHeaderStatement set sets index indices table ctable +syn keyword formHeaderStatement dimension dimensions unittrace +syn keyword formConditional if else elseif endif while +syn keyword formConditional repeat endrepeat label goto +syn keyword formConditional argument endargument exit +syn keyword formConditional inexpression inside term +syn keyword formConditional endinexpression endinside endterm +syn keyword formStatement abrackets also antibrackets antisymmetrize +syn keyword formStatement argexplode argimplode apply auto autodeclare +syn keyword formStatement brackets chainin chainout chisholm cleartable +syn keyword formStatement collect commuting compress contract +syn keyword formStatement cyclesymmetrize deallocatetable delete +syn keyword formStatement dimension discard disorder drop factarg fill +syn keyword formStatement fillexpression fixindex format funpowers hide +syn keyword formStatement identify idnew idold ifmatch inparallel +syn keyword formStatement insidefirst keep load makeinteger many metric +syn keyword formStatement moduleoption modulus multi multiply ndrop +syn keyword formStatement nfunctions nhide normalize notinparallel +syn keyword formStatement nprint nskip ntable ntensors nunhide nwrite +syn keyword formStatement off on once only polyfun pophide print +syn keyword formStatement printtable propercount pushhide ratio +syn keyword formStatement rcyclesymmetrize redefine renumber +syn keyword formStatement replaceinarg replaceloop save select +syn keyword formStatement setexitflag skip slavepatchsize sort splitarg +syn keyword formStatement splitfirstarg splitlastarg sum symmetrize +syn keyword formStatement tablebase testuse threadbucketsize totensor +syn keyword formStatement tovector trace4 tracen tryreplace unhide +syn keyword formStatement unittrace vectors write +" for compatibility with older FORM versions: +syn keyword formStatement id bracket count match traceN + +" some special functions +syn keyword formStatement abs_ bernoulli_ binom_ conjg_ count_ +syn keyword formStatement d_ dd_ delta_ deltap_ denom_ distrib_ +syn keyword formStatement dum_ dummy_ dummyten_ e_ exp_ fac_ +syn keyword formStatement factorin_ firstbracket_ g5_ g6_ g7_ +syn keyword formStatement g_ gcd_ gi_ integer_ invfac_ match_ +syn keyword formStatement max_ maxpowerof_ min_ minpowerof_ +syn keyword formStatement mod_ nargs_ nterms_ pattern_ poly_ +syn keyword formStatement polyadd_ polydiv_ polygcd_ polyintfac_ +syn keyword formStatement polymul_ polynorm_ polyrem_ polysub_ +syn keyword formStatement replace_ reverse_ root_ setfun_ sig_ +syn keyword formStatement sign_ sum_ sump_ table_ tbl_ term_ +syn keyword formStatement termsin_ termsinbracket_ theta_ thetap_ +syn keyword formStatement 5_ 6_ 7_ + +syn keyword formReserved sqrt_ ln_ sin_ cos_ tan_ asin_ acos_ +syn keyword formReserved atan_ atan2_ sinh_ cosh_ tanh_ asinh_ +syn keyword formReserved acosh_ atanh_ li2_ lin_ + +syn keyword formTodo contained TODO FIXME XXX + +syn match formSpecial display contained "\\\(n\|t\|b\|\\\|\"\)" +syn match formSpecial display contained "%\(%\|e\|E\|s\|f\|\$\)" +syn match formSpecial "\<N\d\+_[?]" + +" pattern matching for keywords +syn match formComment "^\ *\*.*$" contains=formTodo +syn match formComment "\;\ *\*.*$" contains=formTodo +syn region formString start=+"+ end=+"+ contains=formSpecial +syn region formString start=+'+ end=+'+ +syn region formNestedString start=+`+ end=+'+ contains=formNestedString +syn match formPreProc "^\=\#[a-zA-z][a-zA-Z0-9]*\>" +syn match formNumber "\<\d\+\>" +syn match formNumber "\<\d\+\.\d*\>" +syn match formNumber "\.\d\+\>" +syn match formNumber "-\d" contains=Number +syn match formNumber "-\.\d" contains=Number +syn match formNumber "i_\+\>" +syn match formNumber "fac_\+\>" +" pattern matching wildcards +syn match formNumber "?[A-z0-9]*" +" dollar-variables (new in 3.x) +syn match formNumber "\\$[A-z0-9]*" +" scalar products +syn match formNumber "^\=[a-zA-z][a-zA-Z0-9]*\.[a-zA-z][a-zA-Z0-9]*\>" + +syn match formDirective "^\=\.[a-zA-z][a-zA-Z0-9]*\>" + +" hi User Labels +syn sync ccomment formComment minlines=10 + +" 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_form_syn_inits") + if version < 508 + let did_form_syn_inits = 1 + command -nargs=+ HiLink hi link <args> + else + command -nargs=+ HiLink hi def link <args> + endif + + HiLink formConditional Conditional + HiLink formNumber Number + HiLink formStatement Statement + HiLink formComment Comment + HiLink formPreProc PreProc + HiLink formDirective PreProc + HiLink formType Type + HiLink formString String + HiLink formNestedString String + HiLink formReserved Error + HiLink formTodo Todo + HiLink formSpecial SpecialChar + + if !exists("form_enhanced_color") + HiLink formHeaderStatement Statement + else + " enhanced color mode + HiLink formHeaderStatement HeaderStatement + " dark and a light background for local types + if &background == "dark" + hi HeaderStatement term=underline ctermfg=LightGreen guifg=LightGreen gui=bold + else + hi HeaderStatement term=underline ctermfg=DarkGreen guifg=SeaGreen gui=bold + endif + " change slightly the default for dark gvim + if has("gui_running") && &background == "dark" + hi Conditional guifg=LightBlue gui=bold + hi Statement guifg=LightYellow + endif + endif + + delcommand HiLink +endif + + let b:current_syntax = "form" + +" vim: ts=8 |