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