forked from aniani/vim
		
	
		
			
	
	
		
			137 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
		
		
			
		
	
	
			137 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
|   | " Vim syntax file | ||
|  | " Language:     TAK2, TAK3, TAK2000 thermal modeling input file | ||
|  | " Maintainer:   Adrian Nagle, anagle@ball.com | ||
|  | " Last Change:  2003 May 11 | ||
|  | " Filenames:    *.tak | ||
|  | " URL:		http://www.naglenet.org/vim/syntax/tak.vim | ||
|  | " MAIN URL:     http://www.naglenet.org/vim/ | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | " For version 5.x: Clear all syntax items | ||
|  | " For version 6.x: Quit when a syntax file was already loaded | ||
|  | if version < 600 | ||
|  |   syntax clear | ||
|  | elseif exists("b:current_syntax") | ||
|  |   finish | ||
|  | endif | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | " Ignore case | ||
|  | syn case ignore | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | " | ||
|  | " | ||
|  | " Begin syntax definitions for tak input file. | ||
|  | " | ||
|  | 
 | ||
|  | " Force free-form fortran format | ||
|  | let fortran_free_source=1 | ||
|  | 
 | ||
|  | " Load FORTRAN syntax file | ||
|  | if version < 600 | ||
|  |   source <sfile>:p:h/fortran.vim | ||
|  | else | ||
|  |   runtime! syntax/fortran.vim | ||
|  | endif | ||
|  | unlet b:current_syntax | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | " Define keywords for TAK and TAKOUT | ||
|  | syn keyword takOptions  AUTODAMP CPRINT CSGDUMP GPRINT HPRINT LODTMP | ||
|  | syn keyword takOptions  LOGIC LPRINT NCVPRINT PLOTQ QPRINT QDUMP | ||
|  | syn keyword takOptions  SUMMARY SOLRTN UID DICTIONARIES | ||
|  | 
 | ||
|  | syn keyword takRoutine  SSITER FWDWRD FWDBCK BCKWRD | ||
|  | 
 | ||
|  | syn keyword takControl  ABSZRO BACKUP DAMP DTIMEI DTIMEL DTIMEH IFC | ||
|  | syn keyword takControl  MAXTEMP NLOOPS NLOOPT NODELIST OUTPUT PLOT | ||
|  | syn keyword takControl  SCALE SIGMA SSCRIT TIMEND TIMEN TIMEO TRCRIT | ||
|  | syn keyword takControl  PLOT | ||
|  | 
 | ||
|  | syn keyword takSolids   PLATE CYL | ||
|  | syn keyword takSolidsArg   ID MATNAM NTYPE TEMP XL YL ZL ISTRN ISTRG NNX | ||
|  | syn keyword takSolidsArg   NNY NNZ INCX INCY INCZ IAK IAC DIFF ARITH BOUN | ||
|  | syn keyword takSolidsArg   RMIN RMAX AXMAX NNR NNTHETA INCR INCTHETA END | ||
|  | 
 | ||
|  | syn case ignore | ||
|  | 
 | ||
|  | syn keyword takMacro    fac pstart pstop | ||
|  | syn keyword takMacro    takcommon fstart fstop | ||
|  | 
 | ||
|  | syn keyword takIdentifier  flq flx gen ncv per sim siv stf stv tvd tvs | ||
|  | syn keyword takIdentifier  tvt pro thm | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | " Define matches for TAK | ||
|  | syn match  takFortran     "^F[0-9 ]"me=e-1 | ||
|  | syn match  takMotran      "^M[0-9 ]"me=e-1 | ||
|  | 
 | ||
|  | syn match  takComment     "^C.*$" | ||
|  | syn match  takComment     "^R.*$" | ||
|  | syn match  takComment     "\$.*$" | ||
|  | 
 | ||
|  | syn match  takHeader      "^header[^,]*" | ||
|  | 
 | ||
|  | syn match  takIncludeFile "include \+[^ ]\+"hs=s+8 contains=fortranInclude | ||
|  | 
 | ||
|  | syn match  takInteger     "-\=\<[0-9]*\>" | ||
|  | syn match  takFloat       "-\=\<[0-9]*\.[0-9]*" | ||
|  | syn match  takScientific  "-\=\<[0-9]*\.[0-9]*E[-+]\=[0-9]\+\>" | ||
|  | 
 | ||
|  | syn match  takEndData     "END OF DATA" | ||
|  | 
 | ||
|  | if exists("thermal_todo") | ||
|  |   execute 'syn match  takTodo ' . '"^'.thermal_todo.'.*$"' | ||
|  | else | ||
|  |   syn match  takTodo	    "^?.*$" | ||
|  | endif | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | " Define the default highlighting | ||
|  | " For version 5.7 and earlier: only when not done already | ||
|  | " For version 5.8 and later: only when an item doesn't have highlighting yet | ||
|  | if version >= 508 || !exists("did_tak_syntax_inits") | ||
|  |   if version < 508 | ||
|  |     let did_tak_syntax_inits = 1 | ||
|  |     command -nargs=+ HiLink hi link <args> | ||
|  |   else | ||
|  |     command -nargs=+ HiLink hi def link <args> | ||
|  |   endif | ||
|  | 
 | ||
|  |   HiLink takMacro		Macro | ||
|  |   HiLink takOptions		Special | ||
|  |   HiLink takRoutine		Type | ||
|  |   HiLink takControl		Special | ||
|  |   HiLink takSolids		Special | ||
|  |   HiLink takSolidsArg		Statement | ||
|  |   HiLink takIdentifier		Identifier | ||
|  | 
 | ||
|  |   HiLink takFortran		PreProc | ||
|  |   HiLink takMotran		PreProc | ||
|  | 
 | ||
|  |   HiLink takComment		Comment | ||
|  |   HiLink takHeader		Typedef | ||
|  |   HiLink takIncludeFile		Type | ||
|  |   HiLink takInteger		Number | ||
|  |   HiLink takFloat		Float | ||
|  |   HiLink takScientific		Float | ||
|  | 
 | ||
|  |   HiLink takEndData		Macro | ||
|  | 
 | ||
|  |   HiLink takTodo		Todo | ||
|  | 
 | ||
|  |   delcommand HiLink | ||
|  | endif | ||
|  | 
 | ||
|  | 
 | ||
|  | let b:current_syntax = "tak" | ||
|  | 
 | ||
|  | " vim: ts=8 sw=2 |