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