Initial commit
This commit is contained in:
commit
0eef70546c
81
quakec.vim
Normal file
81
quakec.vim
Normal file
|
@ -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"
|
Loading…
Reference in New Issue
Block a user