1" Vim syntax file 2" Language: TSS (Thermal Synthesizer System) Geometry 3" Maintainer: Adrian Nagle, [email protected] 4" Last Change: 2003 May 11 5" Filenames: *.tssgm 6" URL: http://www.naglenet.org/vim/syntax/tssgm.vim 7" MAIN URL: http://www.naglenet.org/vim/ 8 9 10 11" quit when a syntax file was already loaded 12if exists("b:current_syntax") 13 finish 14endif 15 16 17 18" Ignore case 19syn case ignore 20 21 22 23" 24" 25" Begin syntax definitions for tss geomtery file. 26" 27 28" Define keywords for TSS 29syn keyword tssgmParam units mirror param active sides submodel include 30syn keyword tssgmParam iconductor nbeta ngamma optics material thickness color 31syn keyword tssgmParam initial_temp 32syn keyword tssgmParam initial_id node_ids node_add node_type 33syn keyword tssgmParam gamma_boundaries gamma_add beta_boundaries 34syn keyword tssgmParam p1 p2 p3 p4 p5 p6 rot1 rot2 rot3 tx ty tz 35 36syn keyword tssgmSurfType rectangle trapezoid disc ellipse triangle 37syn keyword tssgmSurfType polygon cylinder cone sphere ellipic-cone 38syn keyword tssgmSurfType ogive torus box paraboloid hyperboloid ellipsoid 39syn keyword tssgmSurfType quadrilateral trapeziod 40 41syn keyword tssgmArgs OUT IN DOWN BOTH DOUBLE NONE SINGLE RADK CC FECC 42syn keyword tssgmArgs white red blue green yellow orange violet pink 43syn keyword tssgmArgs turquoise grey black 44syn keyword tssgmArgs Arithmetic Boundary Heater 45 46syn keyword tssgmDelim assembly 47 48syn keyword tssgmEnd end 49 50syn keyword tssgmUnits cm feet meters inches 51syn keyword tssgmUnits Celsius Kelvin Fahrenheit Rankine 52 53 54 55" Define matches for TSS 56syn match tssgmDefault "^DEFAULT/LENGTH = \(ft\|in\|cm\|m\)" 57syn match tssgmDefault "^DEFAULT/TEMP = [CKFR]" 58 59syn match tssgmComment /comment \+= \+".*"/ contains=tssParam,tssgmCommentString 60syn match tssgmCommentString /".*"/ contained 61 62syn match tssgmSurfIdent " \S\+\.\d\+ \=$" 63 64syn match tssgmString /"[^" ]\+"/ms=s+1,me=e-1 contains=ALLBUT,tssInteger 65 66syn match tssgmArgs / = [xyz],"/ms=s+3,me=e-2 67 68syn match tssgmInteger "-\=\<[0-9]*\>" 69syn match tssgmFloat "-\=\<[0-9]*\.[0-9]*" 70syn match tssgmScientific "-\=\<[0-9]*\.[0-9]*E[-+]\=[0-9]\+\>" 71 72 73 74" Define the default highlighting 75" Only when an item doesn't have highlighting yet 76 77hi def link tssgmParam Statement 78hi def link tssgmSurfType Type 79hi def link tssgmArgs Special 80hi def link tssgmDelim Typedef 81hi def link tssgmEnd Macro 82hi def link tssgmUnits Special 83 84hi def link tssgmDefault SpecialComment 85hi def link tssgmComment Statement 86hi def link tssgmCommentString Comment 87hi def link tssgmSurfIdent Identifier 88hi def link tssgmString Delimiter 89 90hi def link tssgmInteger Number 91hi def link tssgmFloat Float 92hi def link tssgmScientific Float 93 94 95 96let b:current_syntax = "tssgm" 97 98" vim: ts=8 sw=2 99