xref: /vim-8.2.3635/runtime/syntax/tssgm.vim (revision cf2d8dee)
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" For version 5.x: Clear all syntax items
12" For version 6.x: Quit when a syntax file was already loaded
13if version < 600
14  syntax clear
15elseif exists("b:current_syntax")
16  finish
17endif
18
19
20
21" Ignore case
22syn case ignore
23
24
25
26"
27"
28" Begin syntax definitions for tss geomtery file.
29"
30
31" Define keywords for TSS
32syn keyword tssgmParam  units mirror param active sides submodel include
33syn keyword tssgmParam  iconductor nbeta ngamma optics material thickness color
34syn keyword tssgmParam  initial_temp
35syn keyword tssgmParam  initial_id node_ids node_add node_type
36syn keyword tssgmParam  gamma_boundaries gamma_add beta_boundaries
37syn keyword tssgmParam  p1 p2 p3 p4 p5 p6 rot1 rot2 rot3 tx ty tz
38
39syn keyword tssgmSurfType  rectangle trapezoid disc ellipse triangle
40syn keyword tssgmSurfType  polygon cylinder cone sphere ellipic-cone
41syn keyword tssgmSurfType  ogive torus box paraboloid hyperboloid ellipsoid
42syn keyword tssgmSurfType  quadrilateral trapeziod
43
44syn keyword tssgmArgs   OUT IN DOWN BOTH DOUBLE NONE SINGLE RADK CC FECC
45syn keyword tssgmArgs   white red blue green yellow orange violet pink
46syn keyword tssgmArgs   turquoise grey black
47syn keyword tssgmArgs   Arithmetic Boundary Heater
48
49syn keyword tssgmDelim  assembly
50
51syn keyword tssgmEnd    end
52
53syn keyword tssgmUnits  cm feet meters inches
54syn keyword tssgmUnits  Celsius Kelvin Fahrenheit Rankine
55
56
57
58" Define matches for TSS
59syn match  tssgmDefault     "^DEFAULT/LENGTH = \(ft\|in\|cm\|m\)"
60syn match  tssgmDefault     "^DEFAULT/TEMP = [CKFR]"
61
62syn match  tssgmComment       /comment \+= \+".*"/ contains=tssParam,tssgmCommentString
63syn match  tssgmCommentString /".*"/ contained
64
65syn match  tssgmSurfIdent   " \S\+\.\d\+ \=$"
66
67syn match  tssgmString      /"[^" ]\+"/ms=s+1,me=e-1 contains=ALLBUT,tssInteger
68
69syn match  tssgmArgs	    / = [xyz],"/ms=s+3,me=e-2
70
71syn match  tssgmInteger     "-\=\<[0-9]*\>"
72syn match  tssgmFloat       "-\=\<[0-9]*\.[0-9]*"
73syn match  tssgmScientific  "-\=\<[0-9]*\.[0-9]*E[-+]\=[0-9]\+\>"
74
75
76
77" Define the default highlighting
78" For version 5.7 and earlier: only when not done already
79" For version 5.8 and later: only when an item doesn't have highlighting yet
80if version >= 508 || !exists("did_tssgm_syntax_inits")
81  if version < 508
82    let did_tssgm_syntax_inits = 1
83    command -nargs=+ HiLink hi link <args>
84  else
85    command -nargs=+ HiLink hi def link <args>
86  endif
87
88  HiLink tssgmParam		Statement
89  HiLink tssgmSurfType		Type
90  HiLink tssgmArgs		Special
91  HiLink tssgmDelim		Typedef
92  HiLink tssgmEnd		Macro
93  HiLink tssgmUnits		Special
94
95  HiLink tssgmDefault		SpecialComment
96  HiLink tssgmComment		Statement
97  HiLink tssgmCommentString	Comment
98  HiLink tssgmSurfIdent		Identifier
99  HiLink tssgmString		Delimiter
100
101  HiLink tssgmInteger		Number
102  HiLink tssgmFloat		Float
103  HiLink tssgmScientific	Float
104
105  delcommand HiLink
106endif
107
108
109let b:current_syntax = "tssgm"
110
111" vim: ts=8 sw=2
112