1" 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 178