blob: 6b9f2b0bd44efa03b8beebcf08cdc86739aa85a7 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: Renderman Interface Bytestream
3" Maintainer: Andrew Bromage <ajb@spamcop.net>
4" Last Change: 2003 May 11
5"
6
7" Remove any old syntax stuff hanging around
8if version < 600
9 syn clear
10elseif exists("b:current_syntax")
11 finish
12endif
13
14syn case match
15
16" Comments
17syn match ribLineComment "#.*$"
18syn match ribStructureComment "##.*$"
19
20syn case ignore
21syn match ribCommand /[A-Z][a-zA-Z]*/
22syn case match
23
24syn region ribString start=/"/ skip=/\\"/ end=/"/
25
26syn match ribStructure "[A-Z][a-zA-Z]*Begin\>\|[A-Z][a-zA-Z]*End"
27syn region ribSectionFold start="FrameBegin" end="FrameEnd" fold transparent keepend extend
28syn region ribSectionFold start="WorldBegin" end="WorldEnd" fold transparent keepend extend
29syn region ribSectionFold start="TransformBegin" end="TransformEnd" fold transparent keepend extend
30syn region ribSectionFold start="AttributeBegin" end="AttributeEnd" fold transparent keepend extend
31syn region ribSectionFold start="MotionBegin" end="MotionEnd" fold transparent keepend extend
32syn region ribSectionFold start="SolidBegin" end="SolidEnd" fold transparent keepend extend
33syn region ribSectionFold start="ObjectBegin" end="ObjectEnd" fold transparent keepend extend
34
35syn sync fromstart
36
37"integer number, or floating point number without a dot and with "f".
38syn case ignore
39syn match ribNumbers display transparent "[-]\=\<\d\|\.\d" contains=ribNumber,ribFloat
40syn match ribNumber display contained "[-]\=\d\+\>"
41"floating point number, with dot, optional exponent
42syn match ribFloat display contained "[-]\=\d\+\.\d*\(e[-+]\=\d\+\)\="
43"floating point number, starting with a dot, optional exponent
44syn match ribFloat display contained "[-]\=\.\d\+\(e[-+]\=\d\+\)\=\>"
45"floating point number, without dot, with exponent
46syn match ribFloat display contained "[-]\=\d\+e[-+]\d\+\>"
47syn case match
48
49if version >= 508 || !exists("did_rib_syntax_inits")
50 if version < 508
51 let did_rib_syntax_inits = 1
52 command -nargs=+ HiLink hi link <args>
53 else
54 command -nargs=+ HiLink hi def link <args>
55 endif
56
57 HiLink ribStructure Structure
58 HiLink ribCommand Statement
59
60 HiLink ribStructureComment SpecialComment
61 HiLink ribLineComment Comment
62
63 HiLink ribString String
64 HiLink ribNumber Number
65 HiLink ribFloat Float
66
67 delcommand HiLink
68end
69
70
71let b:current_syntax = "rib"
72
73" Options for vi: ts=8 sw=2 sts=2 nowrap noexpandtab ft=vim