blob: 7a8fceb8607bb725b5c181bbdf51e7b1c67de4ad [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: TAK2, TAK3, TAK2000 thermal modeling input file
3" Maintainer: Adrian Nagle, anagle@ball.com
4" Last Change: 2003 May 11
5" Filenames: *.tak
6" URL: http://www.naglenet.org/vim/syntax/tak.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
18" Ignore case
19syn case ignore
20
21
22
23"
24"
25" Begin syntax definitions for tak input file.
26"
27
28" Force free-form fortran format
29let fortran_free_source=1
30
31" Load FORTRAN syntax file
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020032runtime! syntax/fortran.vim
Bram Moolenaar071d4272004-06-13 20:20:40 +000033unlet b:current_syntax
34
35
36
37" Define keywords for TAK and TAKOUT
38syn keyword takOptions AUTODAMP CPRINT CSGDUMP GPRINT HPRINT LODTMP
39syn keyword takOptions LOGIC LPRINT NCVPRINT PLOTQ QPRINT QDUMP
40syn keyword takOptions SUMMARY SOLRTN UID DICTIONARIES
41
42syn keyword takRoutine SSITER FWDWRD FWDBCK BCKWRD
43
44syn keyword takControl ABSZRO BACKUP DAMP DTIMEI DTIMEL DTIMEH IFC
45syn keyword takControl MAXTEMP NLOOPS NLOOPT NODELIST OUTPUT PLOT
46syn keyword takControl SCALE SIGMA SSCRIT TIMEND TIMEN TIMEO TRCRIT
47syn keyword takControl PLOT
48
49syn keyword takSolids PLATE CYL
50syn keyword takSolidsArg ID MATNAM NTYPE TEMP XL YL ZL ISTRN ISTRG NNX
51syn keyword takSolidsArg NNY NNZ INCX INCY INCZ IAK IAC DIFF ARITH BOUN
52syn keyword takSolidsArg RMIN RMAX AXMAX NNR NNTHETA INCR INCTHETA END
53
54syn case ignore
55
56syn keyword takMacro fac pstart pstop
57syn keyword takMacro takcommon fstart fstop
58
59syn keyword takIdentifier flq flx gen ncv per sim siv stf stv tvd tvs
60syn keyword takIdentifier tvt pro thm
61
62
63
64" Define matches for TAK
65syn match takFortran "^F[0-9 ]"me=e-1
66syn match takMotran "^M[0-9 ]"me=e-1
67
68syn match takComment "^C.*$"
69syn match takComment "^R.*$"
70syn match takComment "\$.*$"
71
72syn match takHeader "^header[^,]*"
73
74syn match takIncludeFile "include \+[^ ]\+"hs=s+8 contains=fortranInclude
75
76syn match takInteger "-\=\<[0-9]*\>"
77syn match takFloat "-\=\<[0-9]*\.[0-9]*"
78syn match takScientific "-\=\<[0-9]*\.[0-9]*E[-+]\=[0-9]\+\>"
79
80syn match takEndData "END OF DATA"
81
82if exists("thermal_todo")
83 execute 'syn match takTodo ' . '"^'.thermal_todo.'.*$"'
84else
85 syn match takTodo "^?.*$"
86endif
87
88
89
90" Define the default highlighting
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020091" Only when an item doesn't have highlighting yet
Bram Moolenaar071d4272004-06-13 20:20:40 +000092
Bram Moolenaarf37506f2016-08-31 22:22:10 +020093hi def link takMacro Macro
94hi def link takOptions Special
95hi def link takRoutine Type
96hi def link takControl Special
97hi def link takSolids Special
98hi def link takSolidsArg Statement
99hi def link takIdentifier Identifier
Bram Moolenaar071d4272004-06-13 20:20:40 +0000100
Bram Moolenaarf37506f2016-08-31 22:22:10 +0200101hi def link takFortran PreProc
102hi def link takMotran PreProc
Bram Moolenaar071d4272004-06-13 20:20:40 +0000103
Bram Moolenaarf37506f2016-08-31 22:22:10 +0200104hi def link takComment Comment
105hi def link takHeader Typedef
106hi def link takIncludeFile Type
107hi def link takInteger Number
108hi def link takFloat Float
109hi def link takScientific Float
Bram Moolenaar071d4272004-06-13 20:20:40 +0000110
Bram Moolenaarf37506f2016-08-31 22:22:10 +0200111hi def link takEndData Macro
Bram Moolenaar071d4272004-06-13 20:20:40 +0000112
Bram Moolenaarf37506f2016-08-31 22:22:10 +0200113hi def link takTodo Todo
Bram Moolenaar071d4272004-06-13 20:20:40 +0000114
Bram Moolenaar071d4272004-06-13 20:20:40 +0000115
116
117let b:current_syntax = "tak"
118
119" vim: ts=8 sw=2