1
0
Fork 0
master
Sheldon Johnson 2018-01-24 23:56:53 +07:00
Commit 0eef70546c
1 geänderte Dateien mit 81 neuen und 0 gelöschten Zeilen

81
quakec.vim Normal file
Datei anzeigen

@ -0,0 +1,81 @@
" Vim syntax file
" Language: QuakeC
" Maintainer: Robert Siska <github.com/RobSis>
" Last Change: 2013 Mar 03
" Quit when a (custom) syntax file was already loaded
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
" Keywords and statements
syn keyword qcStatement if else while do return
syn keyword qcTodo contained TODO FIXME XXX
syn keyword qcQuaked contained QUAKED
syn keyword qcType void float vector string entity
syn keyword qcStorageClass local
syn keyword qcConstant TRUE FALSE
" Literals
syn match qcNumbers display transparent "\<\d\|\.\d" contains=qcNumber,qcHexNumber
syn match qcHexNumber display contained "0x\x\+\(u\=l\{0,2}\|ll\=u\)\>"
syn match qcNumber display contained "\([0-9]\+\(\.[0-9]*f\=\)\=\|\.[0-9]\+f\=\)\>"
syn region qcVector display oneline start=+'+ end=+'+ keepend contains=@Spell
syn region qcString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=qcSpecial,@Spell
syn match qcSpecial display contained "\\\(x\x\+\|.\|$\)"
syn match qcBuiltin display "\#\d\+"
syn match qcFrame display "\$[^\d\W]\w*\>"
syn match qcPragma display "\$\(flags\|base\|cd\|frame\|modelname\|origin\|scale\|skin\)\>"
" Comments
syn cluster qcCommentGroup contains=qcTodo,qcQuaked
syn region qcLineComment start="//" skip="\\$" end="$" keepend contains=@qcCommentGroup,@Spell
syn region qcComment start="/\*" end="\*/" contains=@qcCommentGroup,@Spell fold extend
" Match comments that start out of screen
if !exists("quakec_minlines")
let quakec_minlines = 10
endif
exec "syn sync ccomment qcComment minlines=" . quakec_minlines
" Define the default highlighting.
" Only used when an item doesn't have highlighting yet
if version >= 508 || !exists("did_quakec_syn_inits")
if version < 508
let did_quakec_syn_inits = 1
command -nargs=+ HiLink hi link <args>
else
command -nargs=+ HiLink hi def link <args>
endif
HiLink qcLineComment qcComment
HiLink qcComment Comment
HiLink qcString String
HiLink qcSpecial SpecialChar
HiLink qcNumber Number
HiLink qcVector String
HiLink qcFrame Number
HiLink qcBuiltin PreProc
HiLink qcPragma PreProc
HiLink qcType Type
HiLink qcStorageClass StorageClass
HiLink qcStatement Statement
HiLink qcConstant Constant
HiLink qcTodo Todo
HiLink qcQuaked Label
delcommand HiLink
endif
let b:current_syntax = "quakec"