blob: b8182d48eae716aeed8bb3bbe4acae0afada96e7 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: TSS (Thermal Synthesizer System) Geometry
3" Maintainer: Adrian Nagle, anagle@ball.com
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