Protocol Buffers - Google's data interchange format (grpc依赖)
https://developers.google.com/protocol-buffers/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
2.7 KiB
92 lines
2.7 KiB
17 years ago
|
" Protocol Buffers - Google's data interchange format
|
||
|
" Copyright 2008 Google Inc.
|
||
|
"
|
||
|
" Licensed under the Apache License, Version 2.0 (the "License");
|
||
|
" you may not use this file except in compliance with the License.
|
||
|
" You may obtain a copy of the License at
|
||
|
"
|
||
|
" http:"www.apache.org/licenses/LICENSE-2.0
|
||
|
"
|
||
|
" Unless required by applicable law or agreed to in writing, software
|
||
|
" distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
" WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
" See the License for the specific language governing permissions and
|
||
|
" limitations under the License.
|
||
|
|
||
|
" This is the Vim syntax file for Google Protocol Buffers.
|
||
|
"
|
||
|
" Usage:
|
||
|
"
|
||
|
" 1. cp proto.vim ~/.vim/syntax/
|
||
|
" 2. Add the following to ~/.vimrc:
|
||
|
"
|
||
|
" augroup filetype
|
||
|
" au! BufRead,BufNewFile *.proto setfiletype proto
|
||
|
" augroup end
|
||
|
"
|
||
|
" Or just create a new file called ~/.vim/ftdetect/proto.vim with the
|
||
|
" previous lines on it.
|
||
|
|
||
|
if version < 600
|
||
|
syntax clear
|
||
|
elseif exists("b:current_syntax")
|
||
|
finish
|
||
|
endif
|
||
|
|
||
|
syn case match
|
||
|
|
||
|
syn keyword pbTodo contained TODO FIXME XXX
|
||
|
syn cluster pbCommentGrp contains=pbTodo
|
||
|
|
||
|
syn keyword pbSyntax syntax import option
|
||
|
syn keyword pbStructure package message group
|
||
|
syn keyword pbRepeat optional required repeated
|
||
|
syn keyword pbDefault default
|
||
|
syn keyword pbExtend extend extensions to max
|
||
|
syn keyword pbRPC service rpc returns
|
||
|
|
||
|
syn keyword pbType int32 int64 uint32 uint64 sint32 sint64
|
||
|
syn keyword pbType fixed32 fixed64 sfixed32 sfixed64
|
||
|
syn keyword pbType float double bool string bytes
|
||
|
syn keyword pbTypedef enum
|
||
|
syn keyword pbBool true false
|
||
|
|
||
|
syn match pbInt /-\?\<\d\+\>/
|
||
|
syn match pbInt /\<0[xX]\x+\>/
|
||
|
syn match pbFloat /\<-\?\d*\(\.\d*\)\?/
|
||
|
" TODO: .proto also supports C-style block comments;
|
||
|
" see /usr/share/vim/vim70/syntax/c.vim for how it's done.
|
||
|
syn region pbComment start="//" skip="\\$" end="$" keepend contains=@pbCommentGrp
|
||
|
syn region pbString start=/"/ skip=/\\"/ end=/"/
|
||
|
syn region pbString start=/'/ skip=/\\'/ end=/'/
|
||
|
|
||
|
if version >= 508 || !exists("did_proto_syn_inits")
|
||
|
if version < 508
|
||
|
let did_proto_syn_inits = 1
|
||
|
command -nargs=+ HiLink hi link <args>
|
||
|
else
|
||
|
command -nargs=+ HiLink hi def link <args>
|
||
|
endif
|
||
|
|
||
|
HiLink pbTodo Todo
|
||
|
|
||
|
HiLink pbSyntax Include
|
||
|
HiLink pbStructure Structure
|
||
|
HiLink pbRepeat Repeat
|
||
|
HiLink pbDefault Keyword
|
||
|
HiLink pbExtend Keyword
|
||
|
HiLink pbRPC Keyword
|
||
|
HiLink pbType Type
|
||
|
HiLink pbTypedef Typedef
|
||
|
HiLink pbBool Boolean
|
||
|
|
||
|
HiLink pbInt Number
|
||
|
HiLink pbFloat Float
|
||
|
HiLink pbComment Comment
|
||
|
HiLink pbString String
|
||
|
|
||
|
delcommand HiLink
|
||
|
endif
|
||
|
|
||
|
let b:current_syntax = "proto"
|