2 " Language: TAK2, TAK3, TAK2000 thermal modeling input file
3 " Maintainer: Adrian Nagle, anagle@ball.com
4 " Last Change: 2001 May 15
6 " URL: http://www.naglenet.org/vim/syntax/tak.vim
7 " MAIN URL: http://www.naglenet.org/vim/
11 " For version 5.x: Clear all syntax items
12 " For version 6.x: Quit when a syntax file was already loaded
15 elseif exists("b:current_syntax")
28 " Begin syntax definitions for tak input file.
31 " Force free-form fortran format
32 let fortran_free_source=1
34 " Load FORTRAN syntax file
36 source <sfile>:p:h/fortran.vim
38 runtime! syntax/fortran.vim
40 unlet b:current_syntax
44 " Define keywords for TAK and TAKOUT
45 syn keyword takOptions AUTODAMP CPRINT CSGDUMP GPRINT HPRINT LODTMP
46 syn keyword takOptions LOGIC LPRINT NCVPRINT PLOTQ QPRINT QDUMP
47 syn keyword takOptions SUMMARY SOLRTN UID DICTIONARIES
49 syn keyword takRoutine SSITER FWDWRD FWDBCK BCKWRD
51 syn keyword takControl ABSZRO BACKUP DAMP DTIMEI DTIMEL DTIMEH IFC
52 syn keyword takControl MAXTEMP NLOOPS NLOOPT NODELIST OUTPUT PLOT
53 syn keyword takControl SCALE SIGMA SSCRIT TIMEND TIMEN TIMEO TRCRIT
54 syn keyword takControl PLOT
56 syn keyword takSolids PLATE CYL
57 syn keyword takSolidsArg ID MATNAM NTYPE TEMP XL YL ZL ISTRN ISTRG NNX
58 syn keyword takSolidsArg NNY NNZ INCX INCY INCZ IAK IAC DIFF ARITH BOUN
59 syn keyword takSolidsArg RMIN RMAX AXMAX NNR NNTHETA INCR INCTHETA END
63 syn keyword takMacro fac pstart pstop
64 syn keyword takMacro takcommon fstart fstop
66 syn keyword takIdentifier flq flx gen ncv per sim siv stf stv tvd tvs
67 syn keyword takIdentifier tvt pro thm
71 " Define matches for TAK
72 syn match takFortran "^F[0-9 ]"me=e-1
73 syn match takMotran "^M[0-9 ]"me=e-1
75 syn match takComment "^C.*$"
76 syn match takComment "^R.*$"
77 syn match takComment "\$.*$"
79 syn match takHeader "^header[^,]*"
81 syn match takIncludeFile "include \+[^ ]\+"hs=s+8 contains=fortranInclude
83 syn match takInteger "-\=\<[0-9]*\>"
84 syn match takFloat "-\=\<[0-9]*\.[0-9]*"
85 syn match takScientific "-\=\<[0-9]*\.[0-9]*E[-+]\=[0-9]\+\>"
87 syn match takEndData "END OF DATA"
89 if exists("thermal_todo")
90 execute 'syn match takTodo ' . '"^'.thermal_todo.'.*$"'
92 syn match takTodo "^?.*$"
97 " Define the default highlighting
98 " For version 5.7 and earlier: only when not done already
99 " For version 5.8 and later: only when an item doesn't have highlighting yet
100 if version >= 508 || !exists("did_tak_syntax_inits")
102 let did_tak_syntax_inits = 1
103 command -nargs=+ HiLink hi link <args>
105 command -nargs=+ HiLink hi def link <args>
108 HiLink takMacro Macro
109 HiLink takOptions Special
110 HiLink takRoutine Type
111 HiLink takControl Special
112 HiLink takSolids Special
113 HiLink takSolidsArg Statement
114 HiLink takIdentifier Identifier
116 HiLink takFortran PreProc
117 HiLink takMotran PreProc
119 HiLink takComment Comment
120 HiLink takHeader Typedef
121 HiLink takIncludeFile Type
122 HiLink takInteger Number
123 HiLink takFloat Float
124 HiLink takScientific Float
126 HiLink takEndData Macro
134 let b:current_syntax = "tak"