1" Vim syntax file 2" Language: Protobuf Text Format 3" Maintainer: Lakshay Garg <[email protected]> 4" Last Change: 2020 Nov 17 5" Homepage: https://github.com/lakshayg/vim-pbtxt 6 7if exists("b:current_syntax") 8 finish 9endif 10 11let s:cpo_save = &cpo 12set cpo&vim 13 14syn case ignore 15 16syn keyword pbtxtTodo TODO FIXME contained 17syn keyword pbtxtBool true false contained 18 19syn match pbtxtInt display "\<\(0\|[1-9]\d*\)\>" 20syn match pbtxtHex display "\<0[xX]\x\+\>" 21syn match pbtxtFloat display "\(0\|[1-9]\d*\)\=\.\d*" 22syn match pbtxtMessage display "^\s*\w\+\s*{"me=e-1 23syn match pbtxtField display "^\s*\w\+:"me=e-1 24syn match pbtxtEnum display ":\s*\a\w\+"ms=s+1 contains=pbtxtBool 25syn region pbtxtString start=+"+ skip=+\\"+ end=+"+ contains=@Spell 26syn region pbtxtComment start="#" end="$" keepend contains=pbtxtTodo,@Spell 27 28hi def link pbtxtTodo Todo 29hi def link pbtxtBool Boolean 30hi def link pbtxtInt Number 31hi def link pbtxtHex Number 32hi def link pbtxtFloat Float 33hi def link pbtxtMessage Structure 34hi def link pbtxtField Identifier 35hi def link pbtxtEnum Define 36hi def link pbtxtString String 37hi def link pbtxtComment Comment 38 39let b:current_syntax = "pbtxt" 40 41let &cpo = s:cpo_save 42unlet s:cpo_save 43 44" vim: nowrap sw=2 sts=2 ts=8 noet 45