shada.vim 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. if exists("b:current_syntax")
  2. finish
  3. endif
  4. syntax match ShaDaEntryHeader
  5. \ '^\u.\{-} with timestamp \d\{4}-\d\d-\d\dT\d\d:\d\d:\d\d:$'
  6. syntax match ShaDaEntryName '^\u.\{-}\ze with' contained
  7. \ containedin=ShaDaEntryHeader
  8. syntax match ShaDaEntryTimestamp 'timestamp \zs\d\{4}-\d\d-\d\dT\d\d:\d\d:\d\d'
  9. \ contained containedin=ShaDaEntryHeader
  10. syntax match ShaDaEntryTimestampNumber '\d\+' contained
  11. \ containedin=ShaDaEntryTimestamp
  12. syntax match ShaDaComment '^\s*#.*$'
  13. syntax region ShaDaEntryMapLong start='^ % Key_* Description_* Value$'
  14. \ end='^ %\|^\S'me=s-1 contains=ShaDaComment,ShaDaEntryMapLongEntryStart
  15. syntax region ShaDaEntryMapShort start='^ % Key_* Value$'
  16. \ end='^ %\|^\S'me=s-1 contains=ShaDaComment,ShaDaEntryMapShortEntryStart
  17. syntax match ShaDaEntryMapHeader '^ % Key_* \(Description_* \)\?Value$'
  18. \ contained containedin=ShaDaEntryMapLong,ShaDaEntryMapShort
  19. syntax match ShaDaEntryMapLongEntryStart '^ + 'hs=e-2,he=e-1
  20. \ nextgroup=ShaDaEntryMapLongKey
  21. syntax match ShaDaEntryMapLongKey '\S\+ \+\ze\S'he=e-2 contained
  22. \ nextgroup=ShaDaEntryMapLongDescription
  23. syntax match ShaDaEntryMapLongDescription '.\{-} \ze\S'he=e-2 contained
  24. \ nextgroup=@ShaDaEntryMsgpackValue
  25. syntax match ShaDaEntryMapShortEntryStart '^ + 'hs=e-2,he=e-1 contained
  26. \ nextgroup=ShaDaEntryMapShortKey
  27. syntax match ShaDaEntryMapShortKey '\S\+ \+\ze\S'he=e-2 contained
  28. \ nextgroup=@ShaDaEntryMsgpackValue
  29. syntax match ShaDaEntryMapBinArrayStart '^ | - 'hs=e-4,he=e-1 contained
  30. \ containedin=ShaDaEntryMapLong,ShaDaEntryMapShort
  31. \ nextgroup=@ShaDaEntryMsgpackValue
  32. syntax region ShaDaEntryArray start='^ @ Description_* Value$'
  33. \ end='^\S'me=s-1 keepend
  34. \ contains=ShaDaComment,ShaDaEntryArrayEntryStart,ShaDaEntryArrayHeader
  35. syntax match ShaDaEntryArrayHeader '^ @ Description_* Value$' contained
  36. syntax match ShaDaEntryArrayEntryStart '^ - 'hs=e-2,he=e-1
  37. \ nextgroup=ShaDaEntryArrayDescription
  38. syntax match ShaDaEntryArrayDescription '.\{-} \ze\S'he=e-2 contained
  39. \ nextgroup=@ShaDaEntryMsgpackValue
  40. syntax match ShaDaEntryRawMsgpack '^ = ' nextgroup=@ShaDaEntryMsgpackValue
  41. syntax cluster ShaDaEntryMsgpackValue
  42. \ add=ShaDaMsgpackKeyword,ShaDaMsgpackShaDaKeyword
  43. \ add=ShaDaMsgpackInteger,ShaDaMsgpackCharacter,ShaDaMsgpackFloat
  44. \ add=ShaDaMsgpackBinaryString,ShaDaMsgpackString,ShaDaMsgpackExt
  45. \ add=ShaDaMsgpackArray,ShaDaMsgpackMap
  46. \ add=ShaDaMsgpackMultilineArray
  47. syntax keyword ShaDaMsgpackKeyword contained NIL TRUE FALSE
  48. syntax keyword ShaDaMsgpackShaDaKeyword contained
  49. \ CMD SEARCH EXPR INPUT DEBUG
  50. \ CHARACTERWISE LINEWISE BLOCKWISE
  51. syntax region ShaDaMsgpackBinaryString matchgroup=ShaDaMsgpackStringQuotes
  52. \ start='"' skip='\\"' end='"' contained keepend
  53. syntax match ShaDaMsgpackBinaryStringEscape '\\[\\0n"]'
  54. \ contained containedin=ShaDaMsgpackBinaryString
  55. syntax match ShaDaMsgpackString '=' contained nextgroup=ShaDaMsgpackBinaryString
  56. syntax match ShaDaMsgpackExt '+(-\?\d\+)' contained
  57. \ nextgroup=ShaDaMsgpackBinaryString
  58. syntax match ShaDaMsgpackExtType '-\?\d\+' contained containedin=ShaDaMsgpackExt
  59. syntax match ShaDaMsgpackCharacter /'.'/ contained
  60. syntax match ShaDaMsgpackInteger '-\?\%(0x\x\{,16}\|\d\+\)' contained
  61. syntax match ShaDaMsgpackFloat '-\?\d\+\.\d\+\%(e[+-]\?\d\+\)\?' contained
  62. syntax region ShaDaMsgpackArray matchgroup=ShaDaMsgpackArrayBraces
  63. \ start='\[' end='\]' contained
  64. \ contains=@ShaDaEntryMsgpackValue,ShaDaMsgpackComma
  65. syntax region ShaDaMsgpackMap matchgroup=ShaDaMsgpackMapBraces
  66. \ start='{' end='}' contained
  67. \ contains=@ShaDaEntryMsgpackValue,ShaDaMsgpackComma,ShaDaMsgpackColon
  68. syntax match ShaDaMsgpackComma ',' contained
  69. syntax match ShaDaMsgpackColon ':' contained
  70. syntax match ShaDaMsgpackMultilineArray '@' contained
  71. hi def link ShaDaComment Comment
  72. hi def link ShaDaEntryNumber Number
  73. hi def link ShaDaEntryTimestamp Operator
  74. hi def link ShaDaEntryName Keyword
  75. hi def link ShaDaEntryMapHeader PreProc
  76. hi def link ShaDaEntryMapEntryStart Label
  77. hi def link ShaDaEntryMapLongEntryStart ShaDaEntryMapEntryStart
  78. hi def link ShaDaEntryMapShortEntryStart ShaDaEntryMapEntryStart
  79. hi def link ShaDaEntryMapBinArrayStart ShaDaEntryMapEntryStart
  80. hi def link ShaDaEntryArrayEntryStart ShaDaEntryMapEntryStart
  81. hi def link ShaDaEntryMapKey String
  82. hi def link ShaDaEntryMapLongKey ShaDaEntryMapKey
  83. hi def link ShaDaEntryMapShortKey ShaDaEntryMapKey
  84. hi def link ShaDaEntryMapDescription Comment
  85. hi def link ShaDaEntryMapLongDescription ShaDaEntryMapDescription
  86. hi def link ShaDaEntryMapShortDescription ShaDaEntryMapDescription
  87. hi def link ShaDaEntryArrayHeader PreProc
  88. hi def link ShaDaEntryArrayDescription ShaDaEntryMapDescription
  89. hi def link ShaDaMsgpackKeyword Keyword
  90. hi def link ShaDaMsgpackShaDaKeyword ShaDaMsgpackKeyword
  91. hi def link ShaDaMsgpackCharacter Character
  92. hi def link ShaDaMsgpackInteger Number
  93. hi def link ShaDaMsgpackFloat Float
  94. hi def link ShaDaMsgpackBinaryString String
  95. hi def link ShaDaMsgpackBinaryStringEscape SpecialChar
  96. hi def link ShaDaMsgpackExtType Typedef
  97. hi def link ShaDaMsgpackStringQuotes Operator
  98. hi def link ShaDaMsgpackString ShaDaMsgpackStringQuotes
  99. hi def link ShaDaMsgpackExt ShaDaMsgpackStringQuotes
  100. hi def link ShaDaMsgpackMapBraces Operator
  101. hi def link ShaDaMsgpackArrayBraces ShaDaMsgpackMapBraces
  102. hi def link ShaDaMsgpackComma Operator
  103. hi def link ShaDaMsgpackColon ShaDaMsgpackComma
  104. hi def link ShaDaMsgpackMultilineArray Operator
  105. let b:current_syntax = "shada"