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