chatito.vim (1854B)
1 " Vim syntax file 2 " Language: Chatito 3 " Maintainer: ObserverOfTime <chronobserver@disroot.org> 4 " Filenames: *.chatito 5 " Last Change: 2022 Sep 19 6 7 if exists('b:current_syntax') 8 finish 9 endif 10 11 " Comment 12 syn keyword chatitoTodo contained TODO FIXME XXX 13 syn match chatitoComment /^#.*/ contains=chatitoTodo,@Spell 14 syn match chatitoComment +^//.*+ contains=chatitoTodo,@Spell 15 16 " Import 17 syn match chatitoImport /^import \+.*$/ transparent contains=chatitoImportKeyword,chatitoImportFile 18 syn keyword chatitoImportKeyword import contained nextgroup=chatitoImportFile 19 syn match chatitoImportFile /.*$/ contained skipwhite 20 21 " Intent 22 syn match chatitoIntent /^%\[[^\]?]\+\]\((.\+)\)\=$/ contains=chatitoArgs 23 24 " Slot 25 syn match chatitoSlot /^@\[[^\]?#]\+\(#[^\]?#]\+\)\=\]\((.\+)\)\=$/ contains=chatitoArgs,chatitoVariation 26 syn match chatitoSlot /@\[[^\]?#]\+\(#[^\]?#]\+\)\=?\=\]/ contained contains=chatitoOpt,chatitoVariation 27 28 " Alias 29 syn match chatitoAlias /^\~\[[^\]?]\+\]\=$/ 30 syn match chatitoAlias /\~\[[^\]?]\+?\=\]/ contained contains=chatitoOpt 31 32 " Probability 33 syn match chatitoProbability /\*\[\d\+\(\.\d\+\)\=%\=\]/ contained 34 35 " Optional 36 syn match chatitoOpt '?' contained 37 38 " Arguments 39 syn match chatitoArgs /(.\+)/ contained 40 41 " Variation 42 syn match chatitoVariation /#[^\]?#]\+/ contained 43 44 " Value 45 syn match chatitoValue /^ \{4\}\zs.\+$/ contains=chatitoProbability,chatitoSlot,chatitoAlias,@Spell 46 47 " Errors 48 syn match chatitoError /^\t/ 49 50 hi def link chatitoAlias String 51 hi def link chatitoArgs Special 52 hi def link chatitoComment Comment 53 hi def link chatitoError Error 54 hi def link chatitoImportKeyword Include 55 hi def link chatitoIntent Statement 56 hi def link chatitoOpt SpecialChar 57 hi def link chatitoProbability Number 58 hi def link chatitoSlot Identifier 59 hi def link chatitoTodo Todo 60 hi def link chatitoVariation Special 61 62 let b:current_syntax = 'chatito'