" Vim syntax file
" Language: TSS (Thermal Synthesizer System) Geometry
" Maintainer: Adrian Nagle, [email protected]
" Last Change: 2003 May 11
" Filenames: *.tssgm
" URL: http://www.naglenet.org/vim/syntax/tssgm.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 tss geomtery file.
"
" Define keywords for TSS
syn keyword tssgmParam units mirror param active sides submodel include
syn keyword tssgmParam iconductor nbeta ngamma optics material thickness color
syn keyword tssgmParam initial_temp
syn keyword tssgmParam initial_id node_ids node_add node_type
syn keyword tssgmParam gamma_boundaries gamma_add beta_boundaries
syn keyword tssgmParam p1 p2 p3 p4 p5 p6 rot1 rot2 rot3 tx ty tz
syn keyword tssgmSurfType rectangle trapezoid disc ellipse triangle
syn keyword tssgmSurfType polygon cylinder cone sphere ellipic-cone
syn keyword tssgmSurfType ogive torus box paraboloid hyperboloid ellipsoid
syn keyword tssgmSurfType quadrilateral trapeziod
syn keyword tssgmArgs OUT IN DOWN BOTH DOUBLE NONE SINGLE RADK CC FECC
syn keyword tssgmArgs white red blue green yellow orange violet pink
syn keyword tssgmArgs turquoise grey black
syn keyword tssgmArgs Arithmetic Boundary Heater
syn keyword tssgmDelim assembly
syn keyword tssgmEnd end
syn keyword tssgmUnits cm feet meters inches
syn keyword tssgmUnits Celsius Kelvin Fahrenheit Rankine
" Define matches for TSS
syn match tssgmDefault "^DEFAULT/LENGTH = \(ft\|in\|cm\|m\)"
syn match tssgmDefault "^DEFAULT/TEMP = [CKFR]"
syn match tssgmComment /comment \+= \+".*"/ contains=tssParam,tssgmCommentString
syn match tssgmCommentString /".*"/ contained
syn match tssgmSurfIdent " \S\+\.\d\+ \=$"
syn match tssgmString /"[^" ]\+"/ms=s+1,me=e-1 contains=ALLBUT,tssInteger
syn match tssgmArgs / = [xyz],"/ms=s+3,me=e-2
syn match tssgmInteger "-\=\<[0-9]*\>"
syn match tssgmFloat "-\=\<[0-9]*\.[0-9]*"
syn match tssgmScientific "-\=\<[0-9]*\.[0-9]*E[-+]\=[0-9]\+\>"
" 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_tssgm_syntax_inits")
if version < 508
let did_tssgm_syntax_inits = 1
command -nargs=+ HiLink hi link <args>
else
command -nargs=+ HiLink hi def link <args>
endif
HiLink tssgmParam Statement
HiLink tssgmSurfType Type
HiLink tssgmArgs Special
HiLink tssgmDelim Typedef
HiLink tssgmEnd Macro
HiLink tssgmUnits Special
HiLink tssgmDefault SpecialComment
HiLink tssgmComment Statement
HiLink tssgmCommentString Comment
HiLink tssgmSurfIdent Identifier
HiLink tssgmString Delimiter
HiLink tssgmInteger Number
HiLink tssgmFloat Float
HiLink tssgmScientific Float
delcommand HiLink
endif
let b:current_syntax = "tssgm"
" vim: ts=8 sw=2
|