Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/vim73/syntax/form.vim
diff options
context:
space:
mode:
Diffstat (limited to 'vim73/syntax/form.vim')
-rw-r--r--vim73/syntax/form.vim158
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