xref: /vim-8.2.3635/runtime/syntax/pbtxt.vim (revision 4466ad6b)
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