blob: 1e7f75c357d6854d41feee74de50d9c31547aa0b [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
133command -nargs=+ HiLink hi def link <args>
Bram Moolenaar071d4272004-06-13 20:20:40 +0000134
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200135HiLink trasysOptions Special
136HiLink trasysSurface Special
137HiLink trasysSurfaceType Constant
138HiLink trasysSurfaceArgs Constant
139HiLink trasysArgs Constant
140HiLink trasysOperations Statement
141HiLink trasysSubRoutine Statement
142HiLink trassyPrcsrSegm PreProc
143HiLink trasysIdentifier Identifier
144HiLink trasysComment Comment
145HiLink trasysHeader Typedef
146HiLink trasysMacro Macro
147HiLink trasysInteger Number
148HiLink trasysFloat Float
149HiLink trasysScientific Float
Bram Moolenaar071d4272004-06-13 20:20:40 +0000150
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200151HiLink trasysBlank SpecialChar
Bram Moolenaar071d4272004-06-13 20:20:40 +0000152
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200153HiLink trasysEndData Macro
Bram Moolenaar071d4272004-06-13 20:20:40 +0000154
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200155HiLink trasysTodo Todo
Bram Moolenaar071d4272004-06-13 20:20:40 +0000156
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200157delcommand HiLink
Bram Moolenaar071d4272004-06-13 20:20:40 +0000158
159
160let b:current_syntax = "trasys"
161
162" vim: ts=8 sw=2