blob: b363ea33c605853d7ed511af30f0a0a37ec18f5d [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
92command -nargs=+ HiLink hi def link <args>
Bram Moolenaar071d4272004-06-13 20:20:40 +000093
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020094HiLink takMacro Macro
95HiLink takOptions Special
96HiLink takRoutine Type
97HiLink takControl Special
98HiLink takSolids Special
99HiLink takSolidsArg Statement
100HiLink takIdentifier Identifier
Bram Moolenaar071d4272004-06-13 20:20:40 +0000101
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200102HiLink takFortran PreProc
103HiLink takMotran PreProc
Bram Moolenaar071d4272004-06-13 20:20:40 +0000104
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200105HiLink takComment Comment
106HiLink takHeader Typedef
107HiLink takIncludeFile Type
108HiLink takInteger Number
109HiLink takFloat Float
110HiLink takScientific Float
Bram Moolenaar071d4272004-06-13 20:20:40 +0000111
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200112HiLink takEndData Macro
Bram Moolenaar071d4272004-06-13 20:20:40 +0000113
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200114HiLink takTodo Todo
Bram Moolenaar071d4272004-06-13 20:20:40 +0000115
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200116delcommand HiLink
Bram Moolenaar071d4272004-06-13 20:20:40 +0000117
118
119let b:current_syntax = "tak"
120
121" vim: ts=8 sw=2