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