Index: third_party/protobuf/editors/proto.vim |
diff --git a/third_party/protobuf/editors/proto.vim b/third_party/protobuf/editors/proto.vim |
new file mode 100644 |
index 0000000000000000000000000000000000000000..7f1aeb730a172ad4e77f2de76ba0a942e1827f8b |
--- /dev/null |
+++ b/third_party/protobuf/editors/proto.vim |
@@ -0,0 +1,105 @@ |
+" Protocol Buffers - Google's data interchange format |
+" Copyright 2008 Google Inc. All rights reserved. |
+" https://developers.google.com/protocol-buffers/ |
+" |
+" Redistribution and use in source and binary forms, with or without |
+" modification, are permitted provided that the following conditions are |
+" met: |
+" |
+" * Redistributions of source code must retain the above copyright |
+" notice, this list of conditions and the following disclaimer. |
+" * Redistributions in binary form must reproduce the above |
+" copyright notice, this list of conditions and the following disclaimer |
+" in the documentation and/or other materials provided with the |
+" distribution. |
+" * Neither the name of Google Inc. nor the names of its |
+" contributors may be used to endorse or promote products derived from |
+" this software without specific prior written permission. |
+" |
+" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
+" "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
+" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
+" A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
+" OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
+" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
+" LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
+" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
+" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
+" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
+" OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
+ |
+" 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 oneof |
+syn keyword pbRepeat optional required repeated |
+syn keyword pbDefault default |
+syn keyword pbExtend extend extensions to max reserved |
+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*\)\?/ |
+syn region pbComment start="\/\*" end="\*\/" contains=@pbCommentGrp |
+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" |