updated for version 7.0001
diff --git a/runtime/syntax/tssgm.vim b/runtime/syntax/tssgm.vim
new file mode 100644
index 0000000..b8182d4
--- /dev/null
+++ b/runtime/syntax/tssgm.vim
@@ -0,0 +1,111 @@
+" Vim syntax file
+" Language:     TSS (Thermal Synthesizer System) Geometry
+" Maintainer:   Adrian Nagle, anagle@ball.com
+" 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