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