xref: /vim-8.2.3635/runtime/syntax/obj.vim (revision 00a927d6)
1" Vim syntax file
2" Language:	3D wavefront's obj file
3" Maintainer:	Vincent Berthoux <[email protected]>
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
96