blob: 3e2b438f12e576692bebe2ad48b33f7039b649c0 [file] [log] [blame]
Bram Moolenaar00a927d2010-05-14 23:24:24 +02001" Vim syntax file
2" Language: 3D wavefront's obj file
3" Maintainer: Vincent Berthoux <twinside@gmail.com>
4" File Types: .obj (used in 3D)
5"
6" For version 5.x: Clear all syntax items
7" For version 6.x: Quit when a syntax file was already loaded
8if version < 600
9 syntax clear
10elseif exists("b:current_syntax")
11 finish
12endif
13
14syn match objError "^\a\+"
15
16syn match objKeywords "^cstype\s"
17syn match objKeywords "^ctech\s"
18syn match objKeywords "^stech\s"
19syn match objKeywords "^deg\s"
20syn match objKeywords "^curv\(2\?\)\s"
21syn match objKeywords "^parm\s"
22syn match objKeywords "^surf\s"
23syn match objKeywords "^end\s"
24syn match objKeywords "^bzp\s"
25syn match objKeywords "^bsp\s"
26syn match objKeywords "^res\s"
27syn match objKeywords "^cdc\s"
28syn match objKeywords "^con\s"
29
30syn match objKeywords "^shadow_obj\s"
31syn match objKeywords "^trace_obj\s"
32syn match objKeywords "^usemap\s"
33syn match objKeywords "^lod\s"
34syn match objKeywords "^maplib\s"
35syn match objKeywords "^d_interp\s"
36syn match objKeywords "^c_interp\s"
37syn match objKeywords "^bevel\s"
38syn match objKeywords "^mg\s"
39syn match objKeywords "^s\s"
40syn match objKeywords "^con\s"
41syn match objKeywords "^trim\s"
42syn match objKeywords "^hole\s"
43syn match objKeywords "^scrv\s"
44syn match objKeywords "^sp\s"
45syn match objKeywords "^step\s"
46syn match objKeywords "^bmat\s"
47syn match objKeywords "^csh\s"
48syn match objKeywords "^call\s"
49
50syn match objComment "^#.*"
51syn match objVertex "^v\s"
52syn match objFace "^f\s"
53syn match objVertice "^vt\s"
54syn match objNormale "^vn\s"
55syn match objGroup "^g\s.*"
56syn match objMaterial "^usemtl\s.*"
57syn match objInclude "^mtllib\s.*"
58
59syn match objFloat "-\?\d\+\.\d\+\(e\(+\|-\)\d\+\)\?"
60syn match objInt "\d\+"
61syn match objIndex "\d\+\/\d*\/\d*"
62
63" Define the default highlighting.
64" For version 5.7 and earlier: only when not done already
65" For version 5.8 and later: only when an item doesn't have highlighting yet
66if version >= 508 || !exists("did_cabal_syn_inits")
67 if version < 508
68 let did_cabal_syn_inits = 1
69 command -nargs=+ HiLink hi link <args>
70 else
71 command -nargs=+ HiLink hi def link <args>
72 endif
73
74 HiLink objError Error
75 HiLink objComment Comment
76 HiLink objInclude PreProc
77 HiLink objFloat Float
78 HiLink objInt Number
79 HiLink objGroup Structure
80 HiLink objIndex Constant
81 HiLink objMaterial Label
82
83 HiLink objVertex Keyword
84 HiLink objNormale Keyword
85 HiLink objVertice Keyword
86 HiLink objFace Keyword
87 HiLink objKeywords Keyword
88
89
90 delcommand HiLink
91endif
92
93let b:current_syntax = "obj"
94
95" vim: ts=8