You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

60 lines

  1. if exists("b:current_syntax")
  2. finish
  3. endif
  4. syn keyword qcStatement goto break return continue
  5. syn keyword qcConditional if else switch
  6. syn keyword qcRepeat while for do
  7. syn keyword qcLabel case default
  8. syn keyword qcStructure struct union enum typedef
  9. syn keyword qcTodo contained TODO FIXME XXX
  10. syn keyword qcQuaked contained QUAKED
  11. syn keyword qcType void float vector string entity
  12. syn keyword qcStorageClass local var const noref static
  13. syn keyword qcAttribute noreturn inline eraseable noerase accumulate last alias deprecated coverage
  14. syn keyword qcConstant TRUE FALSE
  15. syn match qcNumbers display transparent "\<\d\|\.\d" contains=qcNumber
  16. syn match qcNumber display contained "0x\x\+\(u\=l\{0,2}\|ll\=u\)\>"
  17. syn match qcNumber display contained "\([0-9]\+\(\.[0-9]*f\=\)\=\|\.[0-9]\+f\=\)\>"
  18. syn region qcVector display oneline start=+'+ end=+'+ keepend contains=@Spell
  19. syn region qcString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=qcSpecial,@Spell
  20. syn match qcSpecial display contained "\\\(x\x\+\|.\|$\)"
  21. syn match qcBuiltin display "\#\d\+"
  22. syn match qcFrame display "\$[^\d\W]\w*\>"
  23. syn match qcPragma display "\$\(flags\|base\|cd\|frame\|modelname\|origin\|scale\|skin\)\>"
  24. syn cluster qcCommentGroup contains=qcTodo,qcQuaked
  25. syn region qcLineComment start="//" skip="\\$" end="$" keepend contains=@qcCommentGroup,@Spell
  26. syn region qcComment start="/\*" end="\*/" contains=@qcCommentGroup,@Spell fold extend
  27. syn sync ccomment qcComment minlines=10
  28. hi def link qcAttribute qcStorageClass
  29. hi def link qcBuiltin PreProc
  30. hi def link qcComment Comment
  31. hi def link qcConditional Conditional
  32. hi def link qcConstant Constant
  33. hi def link qcFrame Number
  34. hi def link qcLabel Label
  35. hi def link qcLineComment qcComment
  36. hi def link qcNumber Number
  37. hi def link qcPragma PreProc
  38. hi def link qcQuaked Label
  39. hi def link qcRepeat Repeat
  40. hi def link qcSpecial SpecialChar
  41. hi def link qcStatement Statement
  42. hi def link qcStorageClass StorageClass
  43. hi def link qcString String
  44. hi def link qcStructure Structure
  45. hi def link qcTodo Todo
  46. hi def link qcType Type
  47. hi def link qcVector Number
  48. let b:current_syntax = "quakec"