vim/syntax/ktap.vim - ktap

Global variables defined

Source code

  1. " Vim syntax file
  2. " Language:     ktap
  3. " Maintainer:    Jovi Zhangwei <jovi.zhangwei@gmail.com>
  4. " First Author:    Jovi Zhangwei <jovi.zhangwei@gmail.com>
  5. " Last Change:    2013 Dec 19

  6. " For version 5.x: Clear all syntax items
  7. " For version 6.x: Quit when a syntax file was already loaded
  8. if version < 600
  9.   syn clear
  10. elseif exists("b:current_syntax")
  11.   finish
  12. endif

  13. setlocal iskeyword=@,48-57,_,$

  14. syn keyword ktapStatement break continue return
  15. syn keyword ktapRepeat while for in
  16. syn keyword ktapConditional if else elseif
  17. syn keyword ktapDeclaration trace trace_end
  18. syn keyword ktapIdentifier var
  19. syn keyword ktapFunction function
  20. syn match   ktapBraces "[{}\[\]]"
  21. syn match   ktapParens "[()]"
  22. syn keyword ktapReserved argstr probename arg0 arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8 arg9
  23. syn keyword ktapReserved cpu pid tid uid execname


  24. syn region ktapTraceDec start="\<trace\>"lc=5 end="{"me=s-1 contains=ktapString,ktapNumber
  25. syn region ktapTraceDec start="\<trace_end\>"lc=9 end="{"me=s-1 contains=ktapString,ktapNumber
  26. syn match ktapTrace contained "\<\w\+\>" containedin=ktapTraceDec

  27. syn region ktapFuncDec start="\<function\>"lc=8 end=":\|("me=s-1 contains=ktapString,ktapNumber
  28. syn match ktapFuncCall contained "\<\w\+\ze\(\s\|\n\)*("
  29. syn match ktapFunc contained "\<\w\+\>" containedin=ktapFuncDec,ktapFuncCall

  30. syn match ktapStat contained "@\<\w\+\ze\(\s\|\n\)*("

  31. " decimal number
  32. syn match ktapNumber "\<\d\+\>"
  33. " octal number
  34. syn match ktapNumber "\<0\o\+\>" contains=ktapOctalZero
  35. " Flag the first zero of an octal number as something special
  36. syn match ktapOctalZero contained "\<0"
  37. " flag an octal number with wrong digits
  38. syn match ktapOctalError "\<0\o*[89]\d*"
  39. " hex number
  40. syn match ktapNumber "\<0x\x\+\>"
  41. " numeric arguments
  42. syn match ktapNumber "\<\$\d\+\>"
  43. syn match ktapNumber "\<\$#"

  44. syn region ktapString oneline start=+"+ skip=+\\"+ end=+"+
  45. " string arguments
  46. syn match ktapString "@\d\+\>"
  47. syn match ktapString "@#"
  48. syn region ktapString2 matchgroup=ktapString start="\[\z(=*\)\[" end="\]\z1\]" contains=@Spell

  49. " syn keyword ktapTodo contained TODO FIXME XXX

  50. syn match ktapComment "#.*"

  51. " treat ^#! as special
  52. syn match ktapSharpBang "^#!.*"


  53. syn keyword ktapFunc printf print print_hist stack
  54. syn keyword ktapFunc gettimeofday_us
  55. syn keyword ktapFunc pairs

  56. syn match ktapFunc /\<ffi\.cdef\>/
  57. syn match ktapFunc /\<ffi\.new\>/
  58. syn match ktapFunc /\<ffi\.free\>/
  59. syn match ktapFunc /\<ffi\.C\>/



  60. " Define the default highlighting.
  61. " For version 5.7 and earlier: only when not done already
  62. " For version 5.8 and later: only when an item doesn't have highlighting yet
  63. if version >= 508 || !exists("did_lua_syntax_inits")
  64.   if version < 508
  65.     let did_lua_syntax_inits = 1
  66.     command -nargs=+ HiLink hi link <args>
  67.   else
  68.     command -nargs=+ HiLink hi def link <args>
  69.   endif

  70.   HiLink ktapNumber        Number
  71.   HiLink ktapOctalZero        PreProc " c.vim does it this way...
  72.   HiLink ktapOctalError        Error
  73.   HiLink ktapString        String
  74.   HiLink ktapString2        String
  75.   HiLink ktapTodo        Todo
  76.   HiLink ktapComment        Comment
  77.   HiLink ktapSharpBang        PreProc
  78.   HiLink ktapStatement        Statement
  79.   HiLink ktapConditional    Conditional
  80.   HiLink ktapRepeat        Repeat
  81.   HiLink ktapTrace        Function
  82.   HiLink ktapFunc        Function
  83.   HiLink ktapStat        Function
  84.   HiLink ktapFunction        Function
  85.   HiLink ktapBraces        Function
  86.   HiLink ktapDeclaration    Typedef
  87.   HiLink ktapIdentifier        Identifier
  88.   HiLink ktapReserved        Keyword

  89.   delcommand HiLink
  90. endif

  91. let b:current_syntax = "ktap"