blob: a6e5b45fcd2b1adbf92c53fff7c75e51d950b2a8 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: sinda85, sinda/fluint input file
3" Maintainer: Adrian Nagle, anagle@ball.com
4" Last Change: 2003 May 11
5" Filenames: *.sin
6" URL: http://www.naglenet.org/vim/syntax/sinda.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 sinda input and output files.
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 SINDA
38syn keyword sindaMacro BUILD BUILDF DEBON DEBOFF DEFMOD FSTART FSTOP
39
40syn keyword sindaOptions TITLE PPSAVE RSI RSO OUTPUT SAVE QMAP USER1 USER2
41syn keyword sindaOptions MODEL PPOUT NOLIST MLINE NODEBUG DIRECTORIES
42syn keyword sindaOptions DOUBLEPR
43
44syn keyword sindaRoutine FORWRD FWDBCK STDSTL FASTIC
45
46syn keyword sindaControl ABSZRO ACCELX ACCELY ACCELZ ARLXCA ATMPCA
47syn keyword sindaControl BACKUP CSGFAC DRLXCA DTIMEH DTIMEI DTIMEL
48syn keyword sindaControl DTIMES DTMPCA EBALNA EBALSA EXTLIM ITEROT
49syn keyword sindaControl ITERXT ITHOLD NLOOPS NLOOPT OUTPUT OPEITR
50syn keyword sindaControl PATMOS SIGMA TIMEO TIMEND UID
51
52syn keyword sindaSubRoutine ASKERS ADARIN ADDARY ADDMOD ARINDV
53syn keyword sindaSubRoutine RYINV ARYMPY ARYSUB ARYTRN BAROC
54syn keyword sindaSubRoutine BELACC BNDDRV BNDGET CHENNB CHGFLD
55syn keyword sindaSubRoutine CHGLMP CHGSUC CHGVOL CHKCHL CHKCHP
56syn keyword sindaSubRoutine CNSTAB COMBAL COMPLQ COMPRS CONTRN
57syn keyword sindaSubRoutine CPRINT CRASH CRVINT CRYTRN CSIFLX
58syn keyword sindaSubRoutine CVTEMP D11CYL C11DAI D11DIM D11MCY
59syn keyword sindaSubRoutine D11MDA D11MDI D11MDT D12CYL D12MCY
60syn keyword sindaSubRoutine D12MDA D1D1DA D1D1IM D1D1WM D1D2DA
61syn keyword sindaSubRoutine D1D2WM D1DEG1 D1DEG2 D1DG1I D1IMD1
62syn keyword sindaSubRoutine D1IMIM D1IMWM D1M1DA D1M2MD D1M2WM
63syn keyword sindaSubRoutine D1MDG1 D1MDG2 D2D1WM D1DEG1 D2DEG2
64syn keyword sindaSubRoutine D2D2
65
66syn keyword sindaIdentifier BIV CAL DIM DIV DPM DPV DTV GEN PER PIV PIM
67syn keyword sindaIdentifier SIM SIV SPM SPV TVS TVD
68
69
70
71" Define matches for SINDA
72syn match sindaFortran "^F[0-9 ]"me=e-1
73syn match sindaMotran "^M[0-9 ]"me=e-1
74
75syn match sindaComment "^C.*$"
76syn match sindaComment "^R.*$"
77syn match sindaComment "\$.*$"
78
79syn match sindaHeader "^header[^,]*"
80
81syn match sindaIncludeFile "include \+[^ ]\+"hs=s+8 contains=fortranInclude
82
83syn match sindaMacro "^PSTART"
84syn match sindaMacro "^PSTOP"
85syn match sindaMacro "^FAC"
86
87syn match sindaInteger "-\=\<[0-9]*\>"
88syn match sindaFloat "-\=\<[0-9]*\.[0-9]*"
89syn match sindaScientific "-\=\<[0-9]*\.[0-9]*E[-+]\=[0-9]\+\>"
90
91syn match sindaEndData "^END OF DATA"
92
93if exists("thermal_todo")
94 execute 'syn match sindaTodo ' . '"^'.thermal_todo.'.*$"'
95else
96 syn match sindaTodo "^?.*$"
97endif
98
99
100
101" Define the default highlighting
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200102" Only when an item doesn't have highlighting yet
Bram Moolenaar071d4272004-06-13 20:20:40 +0000103
Bram Moolenaarf37506f2016-08-31 22:22:10 +0200104hi def link sindaMacro Macro
105hi def link sindaOptions Special
106hi def link sindaRoutine Type
107hi def link sindaControl Special
108hi def link sindaSubRoutine Function
109hi def link sindaIdentifier Identifier
Bram Moolenaar071d4272004-06-13 20:20:40 +0000110
Bram Moolenaarf37506f2016-08-31 22:22:10 +0200111hi def link sindaFortran PreProc
112hi def link sindaMotran PreProc
Bram Moolenaar071d4272004-06-13 20:20:40 +0000113
Bram Moolenaarf37506f2016-08-31 22:22:10 +0200114hi def link sindaComment Comment
115hi def link sindaHeader Typedef
116hi def link sindaIncludeFile Type
117hi def link sindaInteger Number
118hi def link sindaFloat Float
119hi def link sindaScientific Float
Bram Moolenaar071d4272004-06-13 20:20:40 +0000120
Bram Moolenaarf37506f2016-08-31 22:22:10 +0200121hi def link sindaEndData Macro
Bram Moolenaar071d4272004-06-13 20:20:40 +0000122
Bram Moolenaarf37506f2016-08-31 22:22:10 +0200123hi def link sindaTodo Todo
Bram Moolenaar071d4272004-06-13 20:20:40 +0000124
Bram Moolenaar071d4272004-06-13 20:20:40 +0000125
126
127let b:current_syntax = "sinda"
128
129" vim: ts=8 sw=2