sinda.vim (3666B)
1 " 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 11 " quit when a syntax file was already loaded 12 if exists("b:current_syntax") 13 finish 14 endif 15 16 17 18 " Ignore case 19 syn 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 29 let fortran_free_source=1 30 31 " Load FORTRAN syntax file 32 runtime! syntax/fortran.vim 33 unlet b:current_syntax 34 35 36 37 " Define keywords for SINDA 38 syn keyword sindaMacro BUILD BUILDF DEBON DEBOFF DEFMOD FSTART FSTOP 39 40 syn keyword sindaOptions TITLE PPSAVE RSI RSO OUTPUT SAVE QMAP USER1 USER2 41 syn keyword sindaOptions MODEL PPOUT NOLIST MLINE NODEBUG DIRECTORIES 42 syn keyword sindaOptions DOUBLEPR 43 44 syn keyword sindaRoutine FORWRD FWDBCK STDSTL FASTIC 45 46 syn keyword sindaControl ABSZRO ACCELX ACCELY ACCELZ ARLXCA ATMPCA 47 syn keyword sindaControl BACKUP CSGFAC DRLXCA DTIMEH DTIMEI DTIMEL 48 syn keyword sindaControl DTIMES DTMPCA EBALNA EBALSA EXTLIM ITEROT 49 syn keyword sindaControl ITERXT ITHOLD NLOOPS NLOOPT OUTPUT OPEITR 50 syn keyword sindaControl PATMOS SIGMA TIMEO TIMEND UID 51 52 syn keyword sindaSubRoutine ASKERS ADARIN ADDARY ADDMOD ARINDV 53 syn keyword sindaSubRoutine RYINV ARYMPY ARYSUB ARYTRN BAROC 54 syn keyword sindaSubRoutine BELACC BNDDRV BNDGET CHENNB CHGFLD 55 syn keyword sindaSubRoutine CHGLMP CHGSUC CHGVOL CHKCHL CHKCHP 56 syn keyword sindaSubRoutine CNSTAB COMBAL COMPLQ COMPRS CONTRN 57 syn keyword sindaSubRoutine CPRINT CRASH CRVINT CRYTRN CSIFLX 58 syn keyword sindaSubRoutine CVTEMP D11CYL C11DAI D11DIM D11MCY 59 syn keyword sindaSubRoutine D11MDA D11MDI D11MDT D12CYL D12MCY 60 syn keyword sindaSubRoutine D12MDA D1D1DA D1D1IM D1D1WM D1D2DA 61 syn keyword sindaSubRoutine D1D2WM D1DEG1 D1DEG2 D1DG1I D1IMD1 62 syn keyword sindaSubRoutine D1IMIM D1IMWM D1M1DA D1M2MD D1M2WM 63 syn keyword sindaSubRoutine D1MDG1 D1MDG2 D2D1WM D1DEG1 D2DEG2 64 syn keyword sindaSubRoutine D2D2 65 66 syn keyword sindaIdentifier BIV CAL DIM DIV DPM DPV DTV GEN PER PIV PIM 67 syn keyword sindaIdentifier SIM SIV SPM SPV TVS TVD 68 69 70 71 " Define matches for SINDA 72 syn match sindaFortran "^F[0-9 ]"me=e-1 73 syn match sindaMotran "^M[0-9 ]"me=e-1 74 75 syn match sindaComment "^C.*$" 76 syn match sindaComment "^R.*$" 77 syn match sindaComment "\$.*$" 78 79 syn match sindaHeader "^header[^,]*" 80 81 syn match sindaIncludeFile "include \+[^ ]\+"hs=s+8 contains=fortranInclude 82 83 syn match sindaMacro "^PSTART" 84 syn match sindaMacro "^PSTOP" 85 syn match sindaMacro "^FAC" 86 87 syn match sindaInteger "-\=\<[0-9]*\>" 88 syn match sindaFloat "-\=\<[0-9]*\.[0-9]*" 89 syn match sindaScientific "-\=\<[0-9]*\.[0-9]*E[-+]\=[0-9]\+\>" 90 91 syn match sindaEndData "^END OF DATA" 92 93 if exists("thermal_todo") 94 execute 'syn match sindaTodo ' . '"^'.thermal_todo.'.*$"' 95 else 96 syn match sindaTodo "^?.*$" 97 endif 98 99 100 101 " Define the default highlighting 102 " Only when an item doesn't have highlighting yet 103 104 hi def link sindaMacro Macro 105 hi def link sindaOptions Special 106 hi def link sindaRoutine Type 107 hi def link sindaControl Special 108 hi def link sindaSubRoutine Function 109 hi def link sindaIdentifier Identifier 110 111 hi def link sindaFortran PreProc 112 hi def link sindaMotran PreProc 113 114 hi def link sindaComment Comment 115 hi def link sindaHeader Typedef 116 hi def link sindaIncludeFile Type 117 hi def link sindaInteger Number 118 hi def link sindaFloat Float 119 hi def link sindaScientific Float 120 121 hi def link sindaEndData Macro 122 123 hi def link sindaTodo Todo 124 125 126 127 let b:current_syntax = "sinda" 128 129 " vim: ts=8 sw=2