1" Vim syntax file 2" Language: Quake[1-3] configuration file 3" Previous Maintainer: Nikolai Weibull <now@bitwi.se> 4" Latest Revision: 2007-06-17 5" quake_is_quake1 - the syntax is to be used for quake1 configs 6" quake_is_quake2 - the syntax is to be used for quake2 configs 7" quake_is_quake3 - the syntax is to be used for quake3 configs 8" Credits: Tomasz Kalkosinski wrote the original quake3Colors stuff 9 10if exists("b:current_syntax") 11 finish 12endif 13 14let s:cpo_save = &cpo 15set cpo&vim 16 17setlocal iskeyword+=-,+ 18 19syn keyword quakeTodo contained TODO FIXME XXX NOTE 20 21syn region quakeComment display oneline start='//' end='$' end=';' 22 \ keepend contains=quakeTodo,@Spell 23 24syn region quakeString display oneline start=+"+ skip=+\\\\\|\\"+ 25 \ end=+"\|$+ contains=quakeNumbers, 26 \ @quakeCommands,@quake3Colors 27 28syn case ignore 29 30syn match quakeNumbers display transparent '\<-\=\d\|\.\d' 31 \ contains=quakeNumber,quakeFloat, 32 \ quakeOctalError,quakeOctal 33syn match quakeNumber contained display '\d\+\>' 34syn match quakeFloat contained display '\d\+\.\d*' 35syn match quakeFloat contained display '\.\d\+\>' 36 37if exists("quake_is_quake1") || exists("quake_is_quake2") 38 syn match quakeOctal contained display '0\o\+\>' 39 \ contains=quakeOctalZero 40 syn match quakeOctalZero contained display '\<0' 41 syn match quakeOctalError contained display '0\o*[89]\d*' 42endif 43 44syn cluster quakeCommands contains=quakeCommand,quake1Command, 45 \ quake12Command,Quake2Command,Quake23Command, 46 \ Quake3Command 47 48syn keyword quakeCommand +attack +back +forward +left +lookdown +lookup 49syn keyword quakeCommand +mlook +movedown +moveleft +moveright +moveup 50syn keyword quakeCommand +right +speed +strafe -attack -back bind 51syn keyword quakeCommand bindlist centerview clear connect cvarlist dir 52syn keyword quakeCommand disconnect dumpuser echo error exec -forward 53syn keyword quakeCommand god heartbeat joy_advancedupdate kick kill 54syn keyword quakeCommand killserver -left -lookdown -lookup map 55syn keyword quakeCommand messagemode messagemode2 -mlook modellist 56syn keyword quakeCommand -movedown -moveleft -moveright -moveup play 57syn keyword quakeCommand quit rcon reconnect record -right say say_team 58syn keyword quakeCommand screenshot serverinfo serverrecord serverstop 59syn keyword quakeCommand set sizedown sizeup snd_restart soundinfo 60syn keyword quakeCommand soundlist -speed spmap status -strafe stopsound 61syn keyword quakeCommand toggleconsole unbind unbindall userinfo pause 62syn keyword quakeCommand vid_restart viewpos wait weapnext weapprev 63 64if exists("quake_is_quake1") 65 syn keyword quake1Command sv 66endif 67 68if exists("quake_is_quake1") || exists("quake_is_quake2") 69 syn keyword quake12Command +klook alias cd impulse link load save 70 syn keyword quake12Command timerefresh changing info loading 71 syn keyword quake12Command pingservers playerlist players score 72endif 73 74if exists("quake_is_quake2") 75 syn keyword quake2Command cmd demomap +use condump download drop gamemap 76 syn keyword quake2Command give gun_model setmaster sky sv_maplist wave 77 syn keyword quake2Command cmdlist gameversiona gun_next gun_prev invdrop 78 syn keyword quake2Command inven invnext invnextp invnextw invprev 79 syn keyword quake2Command invprevp invprevw invuse menu_addressbook 80 syn keyword quake2Command menu_credits menu_dmoptions menu_game 81 syn keyword quake2Command menu_joinserver menu_keys menu_loadgame 82 syn keyword quake2Command menu_main menu_multiplayer menu_options 83 syn keyword quake2Command menu_playerconfig menu_quit menu_savegame 84 syn keyword quake2Command menu_startserver menu_video 85 syn keyword quake2Command notarget precache prog togglechat vid_front 86 syn keyword quake2Command weaplast 87endif 88 89if exists("quake_is_quake2") || exists("quake_is_quake3") 90 syn keyword quake23Command imagelist modellist path z_stats 91endif 92 93if exists("quake_is_quake3") 94 syn keyword quake3Command +info +scores +zoom addbot arena banClient 95 syn keyword quake3Command banUser callteamvote callvote changeVectors 96 syn keyword quake3Command cinematic clientinfo clientkick cmd cmdlist 97 syn keyword quake3Command condump configstrings crash cvar_restart devmap 98 syn keyword quake3Command fdir follow freeze fs_openedList Fs_pureList 99 syn keyword quake3Command Fs_referencedList gfxinfo globalservers 100 syn keyword quake3Command hunk_stats in_restart -info levelshot 101 syn keyword quake3Command loaddeferred localservers map_restart mem_info 102 syn keyword quake3Command messagemode3 messagemode4 midiinfo model music 103 syn keyword quake3Command modelist net_restart nextframe nextskin noclip 104 syn keyword quake3Command notarget ping prevframe prevskin reset restart 105 syn keyword quake3Command s_disable_a3d s_enable_a3d s_info s_list s_stop 106 syn keyword quake3Command scanservers -scores screenshotJPEG sectorlist 107 syn keyword quake3Command serverstatus seta setenv sets setu setviewpos 108 syn keyword quake3Command shaderlist showip skinlist spdevmap startOribt 109 syn keyword quake3Command stats stopdemo stoprecord systeminfo togglemenu 110 syn keyword quake3Command tcmd team teamtask teamvote tell tell_attacker 111 syn keyword quake3Command tell_target testgun testmodel testshader toggle 112 syn keyword quake3Command touchFile vminfo vmprofile vmtest vosay 113 syn keyword quake3Command vosay_team vote votell vsay vsay_team vstr 114 syn keyword quake3Command vtaunt vtell vtell_attacker vtell_target weapon 115 syn keyword quake3Command writeconfig -zoom 116 syn match quake3Command display "\<[+-]button\(\d\|1[0-4]\)\>" 117endif 118 119if exists("quake_is_quake3") 120 syn cluster quake3Colors contains=quake3Red,quake3Green,quake3Yellow, 121 \ quake3Blue,quake3Cyan,quake3Purple,quake3White, 122 \ quake3Orange,quake3Grey,quake3Black,quake3Shadow 123 124 syn region quake3Red contained start=+\^1+hs=e+1 end=+[$^"\n]+he=e-1 125 syn region quake3Green contained start=+\^2+hs=e+1 end=+[$^"\n]+he=e-1 126 syn region quake3Yellow contained start=+\^3+hs=e+1 end=+[$^"\n]+he=e-1 127 syn region quake3Blue contained start=+\^4+hs=e+1 end=+[$^"\n]+he=e-1 128 syn region quake3Cyan contained start=+\^5+hs=e+1 end=+[$^"\n]+he=e-1 129 syn region quake3Purple contained start=+\^6+hs=e+1 end=+[$^"\n]+he=e-1 130 syn region quake3White contained start=+\^7+hs=e+1 end=+[$^"\n]+he=e-1 131 syn region quake3Orange contained start=+\^8+hs=e+1 end=+[$^\"\n]+he=e-1 132 syn region quake3Grey contained start=+\^9+hs=e+1 end=+[$^"\n]+he=e-1 133 syn region quake3Black contained start=+\^0+hs=e+1 end=+[$^"\n]+he=e-1 134 syn region quake3Shadow contained start=+\^[Xx]+hs=e+1 end=+[$^"\n]+he=e-1 135endif 136 137hi def link quakeComment Comment 138hi def link quakeTodo Todo 139hi def link quakeString String 140hi def link quakeNumber Number 141hi def link quakeOctal Number 142hi def link quakeOctalZero PreProc 143hi def link quakeFloat Number 144hi def link quakeOctalError Error 145hi def link quakeCommand quakeCommands 146hi def link quake1Command quakeCommands 147hi def link quake12Command quakeCommands 148hi def link quake2Command quakeCommands 149hi def link quake23Command quakeCommands 150hi def link quake3Command quakeCommands 151hi def link quakeCommands Keyword 152 153if exists("quake_is_quake3") 154 hi quake3Red ctermfg=Red guifg=Red 155 hi quake3Green ctermfg=Green guifg=Green 156 hi quake3Yellow ctermfg=Yellow guifg=Yellow 157 hi quake3Blue ctermfg=Blue guifg=Blue 158 hi quake3Cyan ctermfg=Cyan guifg=Cyan 159 hi quake3Purple ctermfg=DarkMagenta guifg=Purple 160 hi quake3White ctermfg=White guifg=White 161 hi quake3Black ctermfg=Black guifg=Black 162 hi quake3Orange ctermfg=Brown guifg=Orange 163 hi quake3Grey ctermfg=LightGrey guifg=LightGrey 164 hi quake3Shadow cterm=underline gui=underline 165endif 166 167let b:current_syntax = "quake" 168 169let &cpo = s:cpo_save 170unlet s:cpo_save 171