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