diff options
Diffstat (limited to 'runtime/syntax/pbtxt.vim')
-rw-r--r-- | runtime/syntax/pbtxt.vim | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/runtime/syntax/pbtxt.vim b/runtime/syntax/pbtxt.vim new file mode 100644 index 0000000..92a7556 --- /dev/null +++ b/runtime/syntax/pbtxt.vim @@ -0,0 +1,44 @@ +" Vim syntax file +" Language: Protobuf Text Format +" Maintainer: Lakshay Garg <lakshayg@outlook.in> +" Last Change: 2020 Nov 17 +" Homepage: https://github.com/lakshayg/vim-pbtxt + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&vim + +syn case ignore + +syn keyword pbtxtTodo TODO FIXME contained +syn keyword pbtxtBool true false contained + +syn match pbtxtInt display "\<\(0\|[1-9]\d*\)\>" +syn match pbtxtHex display "\<0[xX]\x\+\>" +syn match pbtxtFloat display "\(0\|[1-9]\d*\)\=\.\d*" +syn match pbtxtMessage display "^\s*\w\+\s*{"me=e-1 +syn match pbtxtField display "^\s*\w\+:"me=e-1 +syn match pbtxtEnum display ":\s*\a\w\+"ms=s+1 contains=pbtxtBool +syn region pbtxtString start=+"+ skip=+\\"+ end=+"+ contains=@Spell +syn region pbtxtComment start="#" end="$" keepend contains=pbtxtTodo,@Spell + +hi def link pbtxtTodo Todo +hi def link pbtxtBool Boolean +hi def link pbtxtInt Number +hi def link pbtxtHex Number +hi def link pbtxtFloat Float +hi def link pbtxtMessage Structure +hi def link pbtxtField Identifier +hi def link pbtxtEnum Define +hi def link pbtxtString String +hi def link pbtxtComment Comment + +let b:current_syntax = "pbtxt" + +let &cpo = s:cpo_save +unlet s:cpo_save + +" vim: nowrap sw=2 sts=2 ts=8 noet |