source: PSPA/madxPSPA/syntax/vim/madx.vim @ 430

Last change on this file since 430 was 430, checked in by touze, 11 years ago

import madx-5.01.00

File size: 5.1 KB
Line 
1" Vim syntax file
2" Language:    Mad-X
3" Maintainer:  Riccardo de Maria <riccardo.de.maria@cern.ch>
4" Last Change: 2005 Feb 11
5
6" Usage:
7"
8" add in .vimrc the line
9" au BufNewFile,BufRead *.madx,*.seq,*.str,*.mask setf madx
10"
11
12set ignorecase
13
14syntax clear
15syntax case ignore
16set iskeyword=a-z,A-Z,48-57,_,.
17
18
19
20
21syntax match madxComment ?//.*$?
22syntax match madxComment /!.*$/
23syntax region madxComment start=+/\*+ end=+\*/+
24
25syntax match madxPunt2 /;/
26
27syntax match madxOutput /++++++.*/
28syntax match madxOutput /+=+=+=.*/
29syntax match madxOutput /  + MAD.\{-} +/
30syntax match madxOutput /^enter .* module/
31syntax match madxOutput /^ GXPLOT-X11.*/
32"syntax match madxOutput2 /[ +=]*.*/
33
34
35"syntax match madxLineReg /\(^\|;\)[^\/!]\_.\{-};/me=e-1 contains=madxPunt,madxNumber,madxFunc,madxType,madxConstant,madxVariables,madxString,madxCommandReg,madxAttribute,madxComment
36
37syntax region madxLineReg start=/[^!]/ end=/;/ contains=madxCommandReg,madxPunt,madxNumber,madxFunc,madxConstant,madxVariables,madxString
38"highlight link madxLineReg Todo
39
40"syntax match madxCommandReg contained /\(^\|:[^=]\)\_.\{-}[,;]/me=e-1 contains=,madxLabel,madxCommand,madxElements,madxPunt,madxNumber,madxFunc,madxOutput
41
42syntax region madxCommandReg contained start=/[A-z]/ end=/;/ contains=madxPunt,madxNumber,madxFunc,madxType,madxConstant,madxVariables,madxString,madxCommandReg,madxAttribute,madxComment,madxCommand, madxElements
43
44
45
46
47"highlight link madxCommandReg Todo
48
49syntax match madxPunt contained /+[^+]/me=e-1
50syntax match madxPunt contained /=\|(\|)\|:=\|->\|-/
51syntax match madxPunt contained /\\/
52syntax match madxPunt contained /\*\|\//
53syntax match madxPunt contained /:[^=]/me=e-1
54syntax match madxPunt contained /,\|;\|{\|}\|\[\|\]/
55syntax match madxNumber contained /\<[0-9\.\-][0-9\.\-+ED]*\>/
56syntax region madxString contained start=/"/ skip=/\\"/ end=/"/
57syntax match madxLabel contained /[A-z0-9 \.]*:[^=]/me=e-1
58
59
60"Language elements
61syntax keyword madxFlowControl contained IF ELSEIF ELSE WHILE MACRO
62
63syntax match madxFunc contained /ATAN/
64
65syntax keyword madxType contained REAL CONST shared
66
67syntax keyword madxConstant contained proton CIRCLE 1 radius  ELLIPSE RECTANGLE LHCSCREEN MARGUERITE RECTELLIPSE RACETRACK POSITRON ELECTRON PROTON ANTIPROTON POSMUON NEGMUON TWOPI
68
69
70syntax keyword madxElements BEAMBEAM DRIFT ECOLLIMATOR ELSEPARATOR EUROPEAN FOR HKICKER HMONITOR INSTRUMENT KICKER MARKER MATRIX MONITOR MULTIPOLE NUCLEAR OCTUPOLE ORGANIZATION QUADRUPOLE RBEND RCOLLIMATOR RESEARCH RFCAVITY SBEND SEXTUPOLE SOLENOID SROTATION VKICKER VMONITOR YROTATION
71
72
73
74syntax keyword madxCommand contained ASSIGN CALL COGUESS CREATE DUMPSEQU EXEC EXIT FILL HELP OPTION PRINT QUIT READTABLE RETURN SAVE SAVEBETA SELECT SET SHOW STOP SYSTEM TITLE USE VALUE WRITE BEAM RESBEAM PLOT RESPLOT SETPLOT SEQEDIT FLATTEN INSTALL MOVE REMOVE CYCLE REFLECT ENDEDIT SEQUENCE ENDSEQUENCE APERTURE SURVEY MAKETHIN
75
76syntax keyword madxCommand contained MATCH ENDMATCH CONSTRAINT VARY LMDIF MIGRAD SIMPLEX WEIGHT JACOBIAN
77
78syntax keyword madxCommand contained TWISS
79
80" Variables
81syntax keyword madxVariables contained betx bety dx dy x y px py s mux muy alfx alfy dpx dpy name parent k0l k1l keywordi n1  on_elem keyword
82
83" Attributes
84syntax keyword madxAttribute  contained save -echo echo -info info warn clear full vaxis1 vaxis2 format spec
85
86syntax keyword madxAttribute  contained class column default echo file flag label length level pattern period place pmass range sequence slice table text tolerance
87syntax keyword madxAttribute  contained BCURRENT BUNCHED BV CHARGE ENERGY ET ETA EX EXN EY EYN GAMMA KBUNCH MASS NPART PARTICLE PC RADIATE SEQUENCE SIGE SIGT
88
89syntax keyword madxAttribute  contained ascale bars colour default file font haxis hmax hmin If interpolate lscale lwidth multiple noline notitle noversion particle post ptc range rscale sscale style symbol table title trackfile vaxis vmax vmin xsize ysize interval
90
91syntax keyword madxAttribute  contained at by class element flag from pattern range sequence start to cor dp
92
93syntax keyword madxAttribute  contained KICK L
94
95"syntax keyword madxAttribute  contained
96
97"syntax match madxAttribute  contained /, *[A-z0-9]\{-} *=/hs=s+1,me=e-1 contains=madxPunt
98"syntax match madxAttribute  contained /, *[A-z0-9]\{-} *:=/hs=s+1,me=e-2 contains=madxPunt
99"syntax match madxAttribute  contained /, *-*[A-z0-9]\{-} *[,;]/hs=s+1,me=e-1 contains=madxPunt
100
101
102"element at from angle L sequence KNL L Lrad flag clear particle energy file column echo info warn refer REFPOS range vaxis label place period KICK KSL save bv warn style title haxis VAXIS1 VAXIS2 step upper lower calls tolerance
103
104
105
106
107
108
109
110"defined by the language"
111highlight link madxCommand Statement
112highlight link madxPunt Statement
113highlight link madxPunt2 Statement
114highlight link madxFunc Statement
115highlight link madxAttribute Type
116highlight link madxElements Macro
117highlight link madxVariables Special
118highlight link madxType     Type
119
120"defined by the user"
121highlight link madxComment Comment
122highlight link madxLabel String
123highlight link madxString String
124highlight link madxConstant Constant
125highlight link madxNumber Number
126
127highlight link madxOutput Comment
128highlight link madxOutput2 Comment
129
Note: See TracBrowser for help on using the repository browser.