1*1b3f573fSAndroid Build Coastguard Worker" Protocol Buffers - Google's data interchange format 2*1b3f573fSAndroid Build Coastguard Worker" Copyright 2008 Google Inc. All rights reserved. 3*1b3f573fSAndroid Build Coastguard Worker" https://developers.google.com/protocol-buffers/ 4*1b3f573fSAndroid Build Coastguard Worker" 5*1b3f573fSAndroid Build Coastguard Worker" Redistribution and use in source and binary forms, with or without 6*1b3f573fSAndroid Build Coastguard Worker" modification, are permitted provided that the following conditions are 7*1b3f573fSAndroid Build Coastguard Worker" met: 8*1b3f573fSAndroid Build Coastguard Worker" 9*1b3f573fSAndroid Build Coastguard Worker" * Redistributions of source code must retain the above copyright 10*1b3f573fSAndroid Build Coastguard Worker" notice, this list of conditions and the following disclaimer. 11*1b3f573fSAndroid Build Coastguard Worker" * Redistributions in binary form must reproduce the above 12*1b3f573fSAndroid Build Coastguard Worker" copyright notice, this list of conditions and the following disclaimer 13*1b3f573fSAndroid Build Coastguard Worker" in the documentation and/or other materials provided with the 14*1b3f573fSAndroid Build Coastguard Worker" distribution. 15*1b3f573fSAndroid Build Coastguard Worker" * Neither the name of Google Inc. nor the names of its 16*1b3f573fSAndroid Build Coastguard Worker" contributors may be used to endorse or promote products derived from 17*1b3f573fSAndroid Build Coastguard Worker" this software without specific prior written permission. 18*1b3f573fSAndroid Build Coastguard Worker" 19*1b3f573fSAndroid Build Coastguard Worker" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 20*1b3f573fSAndroid Build Coastguard Worker" "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 21*1b3f573fSAndroid Build Coastguard Worker" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 22*1b3f573fSAndroid Build Coastguard Worker" A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 23*1b3f573fSAndroid Build Coastguard Worker" OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 24*1b3f573fSAndroid Build Coastguard Worker" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 25*1b3f573fSAndroid Build Coastguard Worker" LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 26*1b3f573fSAndroid Build Coastguard Worker" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 27*1b3f573fSAndroid Build Coastguard Worker" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28*1b3f573fSAndroid Build Coastguard Worker" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29*1b3f573fSAndroid Build Coastguard Worker" OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30*1b3f573fSAndroid Build Coastguard Worker 31*1b3f573fSAndroid Build Coastguard Worker" This is the Vim syntax file for Google Protocol Buffers. 32*1b3f573fSAndroid Build Coastguard Worker" 33*1b3f573fSAndroid Build Coastguard Worker" Usage: 34*1b3f573fSAndroid Build Coastguard Worker" 35*1b3f573fSAndroid Build Coastguard Worker" 1. cp proto.vim ~/.vim/syntax/ 36*1b3f573fSAndroid Build Coastguard Worker" 2. Add the following to ~/.vimrc: 37*1b3f573fSAndroid Build Coastguard Worker" 38*1b3f573fSAndroid Build Coastguard Worker" augroup filetype 39*1b3f573fSAndroid Build Coastguard Worker" au! BufRead,BufNewFile *.proto setfiletype proto 40*1b3f573fSAndroid Build Coastguard Worker" augroup end 41*1b3f573fSAndroid Build Coastguard Worker" 42*1b3f573fSAndroid Build Coastguard Worker" Or just create a new file called ~/.vim/ftdetect/proto.vim with the 43*1b3f573fSAndroid Build Coastguard Worker" previous lines on it. 44*1b3f573fSAndroid Build Coastguard Worker 45*1b3f573fSAndroid Build Coastguard Workerif version < 600 46*1b3f573fSAndroid Build Coastguard Worker syntax clear 47*1b3f573fSAndroid Build Coastguard Workerelseif exists("b:current_syntax") 48*1b3f573fSAndroid Build Coastguard Worker finish 49*1b3f573fSAndroid Build Coastguard Workerendif 50*1b3f573fSAndroid Build Coastguard Worker 51*1b3f573fSAndroid Build Coastguard Workersyn case match 52*1b3f573fSAndroid Build Coastguard Worker 53*1b3f573fSAndroid Build Coastguard Workersyn keyword pbTodo contained TODO FIXME XXX 54*1b3f573fSAndroid Build Coastguard Workersyn cluster pbCommentGrp contains=pbTodo 55*1b3f573fSAndroid Build Coastguard Worker 56*1b3f573fSAndroid Build Coastguard Workersyn keyword pbSyntax syntax import option 57*1b3f573fSAndroid Build Coastguard Workersyn keyword pbStructure package message group oneof 58*1b3f573fSAndroid Build Coastguard Workersyn keyword pbRepeat optional required repeated 59*1b3f573fSAndroid Build Coastguard Workersyn keyword pbDefault default 60*1b3f573fSAndroid Build Coastguard Workersyn keyword pbExtend extend extensions to max reserved 61*1b3f573fSAndroid Build Coastguard Workersyn keyword pbRPC service rpc returns 62*1b3f573fSAndroid Build Coastguard Worker 63*1b3f573fSAndroid Build Coastguard Workersyn keyword pbType int32 int64 uint32 uint64 sint32 sint64 64*1b3f573fSAndroid Build Coastguard Workersyn keyword pbType fixed32 fixed64 sfixed32 sfixed64 65*1b3f573fSAndroid Build Coastguard Workersyn keyword pbType float double bool string bytes 66*1b3f573fSAndroid Build Coastguard Workersyn keyword pbTypedef enum 67*1b3f573fSAndroid Build Coastguard Workersyn keyword pbBool true false 68*1b3f573fSAndroid Build Coastguard Worker 69*1b3f573fSAndroid Build Coastguard Workersyn match pbInt /-\?\<\d\+\>/ 70*1b3f573fSAndroid Build Coastguard Workersyn match pbInt /\<0[xX]\x+\>/ 71*1b3f573fSAndroid Build Coastguard Workersyn match pbFloat /\<-\?\d*\(\.\d*\)\?/ 72*1b3f573fSAndroid Build Coastguard Workersyn region pbComment start="\/\*" end="\*\/" contains=@pbCommentGrp,@Spell 73*1b3f573fSAndroid Build Coastguard Workersyn region pbComment start="//" skip="\\$" end="$" keepend contains=@pbCommentGrp,@Spell 74*1b3f573fSAndroid Build Coastguard Workersyn region pbString start=/"/ skip=/\\./ end=/"/ contains=@Spell 75*1b3f573fSAndroid Build Coastguard Workersyn region pbString start=/'/ skip=/\\./ end=/'/ contains=@Spell 76*1b3f573fSAndroid Build Coastguard Worker 77*1b3f573fSAndroid Build Coastguard Workerif version >= 508 || !exists("did_proto_syn_inits") 78*1b3f573fSAndroid Build Coastguard Worker if version < 508 79*1b3f573fSAndroid Build Coastguard Worker let did_proto_syn_inits = 1 80*1b3f573fSAndroid Build Coastguard Worker command -nargs=+ HiLink hi link <args> 81*1b3f573fSAndroid Build Coastguard Worker else 82*1b3f573fSAndroid Build Coastguard Worker command -nargs=+ HiLink hi def link <args> 83*1b3f573fSAndroid Build Coastguard Worker endif 84*1b3f573fSAndroid Build Coastguard Worker 85*1b3f573fSAndroid Build Coastguard Worker HiLink pbTodo Todo 86*1b3f573fSAndroid Build Coastguard Worker 87*1b3f573fSAndroid Build Coastguard Worker HiLink pbSyntax Include 88*1b3f573fSAndroid Build Coastguard Worker HiLink pbStructure Structure 89*1b3f573fSAndroid Build Coastguard Worker HiLink pbRepeat Repeat 90*1b3f573fSAndroid Build Coastguard Worker HiLink pbDefault Keyword 91*1b3f573fSAndroid Build Coastguard Worker HiLink pbExtend Keyword 92*1b3f573fSAndroid Build Coastguard Worker HiLink pbRPC Keyword 93*1b3f573fSAndroid Build Coastguard Worker HiLink pbType Type 94*1b3f573fSAndroid Build Coastguard Worker HiLink pbTypedef Typedef 95*1b3f573fSAndroid Build Coastguard Worker HiLink pbBool Boolean 96*1b3f573fSAndroid Build Coastguard Worker 97*1b3f573fSAndroid Build Coastguard Worker HiLink pbInt Number 98*1b3f573fSAndroid Build Coastguard Worker HiLink pbFloat Float 99*1b3f573fSAndroid Build Coastguard Worker HiLink pbComment Comment 100*1b3f573fSAndroid Build Coastguard Worker HiLink pbString String 101*1b3f573fSAndroid Build Coastguard Worker 102*1b3f573fSAndroid Build Coastguard Worker delcommand HiLink 103*1b3f573fSAndroid Build Coastguard Workerendif 104*1b3f573fSAndroid Build Coastguard Worker 105*1b3f573fSAndroid Build Coastguard Workerlet b:current_syntax = "proto" 106