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