summaryrefslogtreecommitdiffstats
path: root/runtime/syntax/quake.vim
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--runtime/syntax/quake.vim170
1 files changed, 170 insertions, 0 deletions
diff --git a/runtime/syntax/quake.vim b/runtime/syntax/quake.vim
new file mode 100644
index 0000000..7db5310
--- /dev/null
+++ b/runtime/syntax/quake.vim
@@ -0,0 +1,170 @@
+" Vim syntax file
+" Language: Quake[1-3] configuration file
+" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
+" Latest Revision: 2007-06-17
+" quake_is_quake1 - the syntax is to be used for quake1 configs
+" quake_is_quake2 - the syntax is to be used for quake2 configs
+" quake_is_quake3 - the syntax is to be used for quake3 configs
+" Credits: Tomasz Kalkosinski wrote the original quake3Colors stuff
+
+if exists("b:current_syntax")
+ finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+setlocal iskeyword+=-,+
+
+syn keyword quakeTodo contained TODO FIXME XXX NOTE
+
+syn region quakeComment display oneline start='//' end='$' end=';'
+ \ keepend contains=quakeTodo,@Spell
+
+syn region quakeString display oneline start=+"+ skip=+\\\\\|\\"+
+ \ end=+"\|$+ contains=quakeNumbers,
+ \ @quakeCommands,@quake3Colors
+
+syn case ignore
+
+syn match quakeNumbers display transparent '\<-\=\d\|\.\d'
+ \ contains=quakeNumber,quakeFloat,
+ \ quakeOctalError,quakeOctal
+syn match quakeNumber contained display '\d\+\>'
+syn match quakeFloat contained display '\d\+\.\d*'
+syn match quakeFloat contained display '\.\d\+\>'
+
+if exists("quake_is_quake1") || exists("quake_is_quake2")
+ syn match quakeOctal contained display '0\o\+\>'
+ \ contains=quakeOctalZero
+ syn match quakeOctalZero contained display '\<0'
+ syn match quakeOctalError contained display '0\o*[89]\d*'
+endif
+
+syn cluster quakeCommands contains=quakeCommand,quake1Command,
+ \ quake12Command,Quake2Command,Quake23Command,
+ \ Quake3Command
+
+syn keyword quakeCommand +attack +back +forward +left +lookdown +lookup
+syn keyword quakeCommand +mlook +movedown +moveleft +moveright +moveup
+syn keyword quakeCommand +right +speed +strafe -attack -back bind
+syn keyword quakeCommand bindlist centerview clear connect cvarlist dir
+syn keyword quakeCommand disconnect dumpuser echo error exec -forward
+syn keyword quakeCommand god heartbeat joy_advancedupdate kick kill
+syn keyword quakeCommand killserver -left -lookdown -lookup map
+syn keyword quakeCommand messagemode messagemode2 -mlook modellist
+syn keyword quakeCommand -movedown -moveleft -moveright -moveup play
+syn keyword quakeCommand quit rcon reconnect record -right say say_team
+syn keyword quakeCommand screenshot serverinfo serverrecord serverstop
+syn keyword quakeCommand set sizedown sizeup snd_restart soundinfo
+syn keyword quakeCommand soundlist -speed spmap status -strafe stopsound
+syn keyword quakeCommand toggleconsole unbind unbindall userinfo pause
+syn keyword quakeCommand vid_restart viewpos wait weapnext weapprev
+
+if exists("quake_is_quake1")
+ syn keyword quake1Command sv
+endif
+
+if exists("quake_is_quake1") || exists("quake_is_quake2")
+ syn keyword quake12Command +klook alias cd impulse link load save
+ syn keyword quake12Command timerefresh changing info loading
+ syn keyword quake12Command pingservers playerlist players score
+endif
+
+if exists("quake_is_quake2")
+ syn keyword quake2Command cmd demomap +use condump download drop gamemap
+ syn keyword quake2Command give gun_model setmaster sky sv_maplist wave
+ syn keyword quake2Command cmdlist gameversiona gun_next gun_prev invdrop
+ syn keyword quake2Command inven invnext invnextp invnextw invprev
+ syn keyword quake2Command invprevp invprevw invuse menu_addressbook
+ syn keyword quake2Command menu_credits menu_dmoptions menu_game
+ syn keyword quake2Command menu_joinserver menu_keys menu_loadgame
+ syn keyword quake2Command menu_main menu_multiplayer menu_options
+ syn keyword quake2Command menu_playerconfig menu_quit menu_savegame
+ syn keyword quake2Command menu_startserver menu_video
+ syn keyword quake2Command notarget precache prog togglechat vid_front
+ syn keyword quake2Command weaplast
+endif
+
+if exists("quake_is_quake2") || exists("quake_is_quake3")
+ syn keyword quake23Command imagelist modellist path z_stats
+endif
+
+if exists("quake_is_quake3")
+ syn keyword quake3Command +info +scores +zoom addbot arena banClient
+ syn keyword quake3Command banUser callteamvote callvote changeVectors
+ syn keyword quake3Command cinematic clientinfo clientkick cmd cmdlist
+ syn keyword quake3Command condump configstrings crash cvar_restart devmap
+ syn keyword quake3Command fdir follow freeze fs_openedList Fs_pureList
+ syn keyword quake3Command Fs_referencedList gfxinfo globalservers
+ syn keyword quake3Command hunk_stats in_restart -info levelshot
+ syn keyword quake3Command loaddeferred localservers map_restart mem_info
+ syn keyword quake3Command messagemode3 messagemode4 midiinfo model music
+ syn keyword quake3Command modelist net_restart nextframe nextskin noclip
+ syn keyword quake3Command notarget ping prevframe prevskin reset restart
+ syn keyword quake3Command s_disable_a3d s_enable_a3d s_info s_list s_stop
+ syn keyword quake3Command scanservers -scores screenshotJPEG sectorlist
+ syn keyword quake3Command serverstatus seta setenv sets setu setviewpos
+ syn keyword quake3Command shaderlist showip skinlist spdevmap startOribt
+ syn keyword quake3Command stats stopdemo stoprecord systeminfo togglemenu
+ syn keyword quake3Command tcmd team teamtask teamvote tell tell_attacker
+ syn keyword quake3Command tell_target testgun testmodel testshader toggle
+ syn keyword quake3Command touchFile vminfo vmprofile vmtest vosay
+ syn keyword quake3Command vosay_team vote votell vsay vsay_team vstr
+ syn keyword quake3Command vtaunt vtell vtell_attacker vtell_target weapon
+ syn keyword quake3Command writeconfig -zoom
+ syn match quake3Command display "\<[+-]button\(\d\|1[0-4]\)\>"
+endif
+
+if exists("quake_is_quake3")
+ syn cluster quake3Colors contains=quake3Red,quake3Green,quake3Yellow,
+ \ quake3Blue,quake3Cyan,quake3Purple,quake3White,
+ \ quake3Orange,quake3Grey,quake3Black,quake3Shadow
+
+ syn region quake3Red contained start=+\^1+hs=e+1 end=+[$^"\n]+he=e-1
+ syn region quake3Green contained start=+\^2+hs=e+1 end=+[$^"\n]+he=e-1
+ syn region quake3Yellow contained start=+\^3+hs=e+1 end=+[$^"\n]+he=e-1
+ syn region quake3Blue contained start=+\^4+hs=e+1 end=+[$^"\n]+he=e-1
+ syn region quake3Cyan contained start=+\^5+hs=e+1 end=+[$^"\n]+he=e-1
+ syn region quake3Purple contained start=+\^6+hs=e+1 end=+[$^"\n]+he=e-1
+ syn region quake3White contained start=+\^7+hs=e+1 end=+[$^"\n]+he=e-1
+ syn region quake3Orange contained start=+\^8+hs=e+1 end=+[$^\"\n]+he=e-1
+ syn region quake3Grey contained start=+\^9+hs=e+1 end=+[$^"\n]+he=e-1
+ syn region quake3Black contained start=+\^0+hs=e+1 end=+[$^"\n]+he=e-1
+ syn region quake3Shadow contained start=+\^[Xx]+hs=e+1 end=+[$^"\n]+he=e-1
+endif
+
+hi def link quakeComment Comment
+hi def link quakeTodo Todo
+hi def link quakeString String
+hi def link quakeNumber Number
+hi def link quakeOctal Number
+hi def link quakeOctalZero PreProc
+hi def link quakeFloat Number
+hi def link quakeOctalError Error
+hi def link quakeCommand quakeCommands
+hi def link quake1Command quakeCommands
+hi def link quake12Command quakeCommands
+hi def link quake2Command quakeCommands
+hi def link quake23Command quakeCommands
+hi def link quake3Command quakeCommands
+hi def link quakeCommands Keyword
+
+if exists("quake_is_quake3")
+ hi quake3Red ctermfg=Red guifg=Red
+ hi quake3Green ctermfg=Green guifg=Green
+ hi quake3Yellow ctermfg=Yellow guifg=Yellow
+ hi quake3Blue ctermfg=Blue guifg=Blue
+ hi quake3Cyan ctermfg=Cyan guifg=Cyan
+ hi quake3Purple ctermfg=DarkMagenta guifg=Purple
+ hi quake3White ctermfg=White guifg=White
+ hi quake3Black ctermfg=Black guifg=Black
+ hi quake3Orange ctermfg=Brown guifg=Orange
+ hi quake3Grey ctermfg=LightGrey guifg=LightGrey
+ hi quake3Shadow cterm=underline gui=underline
+endif
+
+let b:current_syntax = "quake"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save