neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

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"