blob: cfecc1c1fd612141167fc5a9912ed460d74d7db0 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: TRASYS input file
3" Maintainer: Adrian Nagle, anagle@ball.com
4" Last Change: 2003 May 11
5" Filenames: *.inp
6" URL: http://www.naglenet.org/vim/syntax/trasys.vim
7" MAIN URL: http://www.naglenet.org/vim/
8
9
10
11" For version 5.x: Clear all syntax items
12" For version 6.x: Quit when a syntax file was already loaded
13if version < 600
14 syntax clear
15elseif exists("b:current_syntax")
16 finish
17endif
18
19
20" Force free-form fortran format
21let fortran_free_source=1
22
23" Load FORTRAN syntax file
24if version < 600
25 source <sfile>:p:h/fortran.vim
26else
27 runtime! syntax/fortran.vim
28endif
29unlet b:current_syntax
30
31
32" Ignore case
33syn case ignore
34
35
36
37" Define keywords for TRASYS
38syn keyword trasysOptions model rsrec info maxfl nogo dmpdoc
39syn keyword trasysOptions rsi rti rso rto bcdou cmerg emerg
40syn keyword trasysOptions user1 nnmin erplot
41
42syn keyword trasysSurface icsn tx ty tz rotx roty rotz inc bcsn
43syn keyword trasysSurface nnx nny nnz nnax nnr nnth unnx
44syn keyword trasysSurface unny unnz unnax unnr unnth type idupsf
45syn keyword trasysSurface imagsf act active com shade bshade axmin
46syn keyword trasysSurface axmax zmin zmax rmin rmax thmin thmin
47syn keyword trasysSurface thmax alpha emiss trani trans spri sprs
48syn keyword trasysSurface refno posit com dupbcs dimensions
49syn keyword trasysSurface dimension position prop surfn
50
51syn keyword trasysSurfaceType rect trap disk cyl cone sphere parab
52syn keyword trasysSurfaceType box5 box6 shpero tor ogiv elem tape poly
53
54syn keyword trasysSurfaceArgs ff di top bottom in out both no only
55
56syn keyword trasysArgs fig smn nodea zero only ir sol
57syn keyword trasysArgs both wband stepn initl
58
59syn keyword trasysOperations orbgen build
60
61"syn keyword trasysSubRoutine call
62syn keyword trasysSubRoutine chgblk ndata ndatas odata odatas
63syn keyword trasysSubRoutine pldta ffdata cmdata adsurf rbdata
64syn keyword trasysSubRoutine rtdata pffshd orbit1 orbit2 orient
65syn keyword trasysSubRoutine didt1 didt1s didt2 didt2s spin
66syn keyword trasysSubRoutine spinav dicomp distab drdata gbdata
67syn keyword trasysSubRoutine gbaprx rkdata rcdata aqdata stfaq
68syn keyword trasysSubRoutine qodata qoinit modar modpr modtr
69syn keyword trasysSubRoutine modprs modshd moddat rstoff rston
70syn keyword trasysSubRoutine rsmerg ffread diread ffusr1 diusr1
71syn keyword trasysSubRoutine surfp didt3 didt3s romain stfrc
72syn keyword trasysSubRoutine rornt rocstr romove flxdata title
73
74syn keyword trassyPrcsrSegm nplot oplot plot cmcal ffcal rbcal
75syn keyword trassyPrcsrSegm rtcal dical drcal sfcal gbcal rccal
76syn keyword trassyPrcsrSegm rkcal aqcal qocal
77
78
79
80" Define matches for TRASYS
81syn match trasysOptions "list source"
82syn match trasysOptions "save source"
83syn match trasysOptions "no print"
84
85"syn match trasysSurface "^K *.* [^$]"
86"syn match trasysSurface "^D *[0-9]*\.[0-9]\+"
87"syn match trasysSurface "^I *.*[0-9]\+\.\="
88"syn match trasysSurface "^N *[0-9]\+"
89"syn match trasysSurface "^M *[a-z[A-Z0-9]\+"
90"syn match trasysSurface "^B[C][S] *[a-zA-Z0-9]*"
91"syn match trasysSurface "^S *SURFN.*[0-9]"
92syn match trasysSurface "P[0-9]* *="he=e-1
93
94syn match trasysIdentifier "^L "he=e-1
95syn match trasysIdentifier "^K "he=e-1
96syn match trasysIdentifier "^D "he=e-1
97syn match trasysIdentifier "^I "he=e-1
98syn match trasysIdentifier "^N "he=e-1
99syn match trasysIdentifier "^M "he=e-1
100syn match trasysIdentifier "^B[C][S]"
101syn match trasysIdentifier "^S "he=e-1
102
103syn match trasysComment "^C.*$"
104syn match trasysComment "^R.*$"
105syn match trasysComment "\$.*$"
106
107syn match trasysHeader "^header[^,]*"
108
109syn match trasysMacro "^FAC"
110
111syn match trasysInteger "-\=\<[0-9]*\>"
112syn match trasysFloat "-\=\<[0-9]*\.[0-9]*"
113syn match trasysScientific "-\=\<[0-9]*\.[0-9]*E[-+]\=[0-9]\+\>"
114
115syn match trasysBlank "' \+'"hs=s+1,he=e-1
116
117syn match trasysEndData "^END OF DATA"
118
119if exists("thermal_todo")
120 execute 'syn match trasysTodo ' . '"^'.thermal_todo.'.*$"'
121else
122 syn match trasysTodo "^?.*$"
123endif
124
125
126
127" Define regions for TRASYS
128syn region trasysComment matchgroup=trasysHeader start="^HEADER DOCUMENTATION DATA" end="^HEADER[^,]*"
129
130
131
132" Define synchronizing patterns for TRASYS
133syn sync maxlines=500
134syn sync match trasysSync grouphere trasysComment "^HEADER DOCUMENTATION DATA"
135
136
137
138" Define the default highlighting
139" For version 5.7 and earlier: only when not done already
140" For version 5.8 and later: only when an item doesn't have highlighting yet
141if version >= 508 || !exists("did_trasys_syntax_inits")
142 if version < 508
143 let did_trasys_syntax_inits = 1
144 command -nargs=+ HiLink hi link <args>
145 else
146 command -nargs=+ HiLink hi def link <args>
147 endif
148
149 HiLink trasysOptions Special
150 HiLink trasysSurface Special
151 HiLink trasysSurfaceType Constant
152 HiLink trasysSurfaceArgs Constant
153 HiLink trasysArgs Constant
154 HiLink trasysOperations Statement
155 HiLink trasysSubRoutine Statement
156 HiLink trassyPrcsrSegm PreProc
157 HiLink trasysIdentifier Identifier
158 HiLink trasysComment Comment
159 HiLink trasysHeader Typedef
160 HiLink trasysMacro Macro
161 HiLink trasysInteger Number
162 HiLink trasysFloat Float
163 HiLink trasysScientific Float
164
165 HiLink trasysBlank SpecialChar
166
167 HiLink trasysEndData Macro
168
169 HiLink trasysTodo Todo
170
171 delcommand HiLink
172endif
173
174
175let b:current_syntax = "trasys"
176
177" vim: ts=8 sw=2