annotate runtime/syntax/proto.vim @ 26406:fcc57227e99b v8.2.3734

patch 8.2.3734: Vim9: crash when no pattern match found Commit: https://github.com/vim/vim/commit/01a4dcbceefa99696bd1ef8631c3f7ce9f6e0cc2 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Dec 4 13:15:10 2021 +0000 patch 8.2.3734: Vim9: crash when no pattern match found Problem: Vim9: crash when no pattern match found. Solution: Check for error.
author Bram Moolenaar <Bram@vim.org>
date Sat, 04 Dec 2021 14:30:03 +0100
parents 8dad79c661d1
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
22824
8dad79c661d1 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 10048
diff changeset
1 " Protocol Buffers - Google's data interchange format
4869
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
2 " Copyright 2008 Google Inc. All rights reserved.
22824
8dad79c661d1 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 10048
diff changeset
3 " https://developers.google.com/protocol-buffers/
4869
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
4 "
22824
8dad79c661d1 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 10048
diff changeset
5 " Redistribution and use in source and binary forms, with or without
8dad79c661d1 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 10048
diff changeset
6 " modification, are permitted provided that the following conditions are
8dad79c661d1 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 10048
diff changeset
7 " met:
4869
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
8 "
22824
8dad79c661d1 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 10048
diff changeset
9 " * Redistributions of source code must retain the above copyright
8dad79c661d1 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 10048
diff changeset
10 " notice, this list of conditions and the following disclaimer.
8dad79c661d1 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 10048
diff changeset
11 " * Redistributions in binary form must reproduce the above
8dad79c661d1 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 10048
diff changeset
12 " copyright notice, this list of conditions and the following disclaimer
8dad79c661d1 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 10048
diff changeset
13 " in the documentation and/or other materials provided with the
8dad79c661d1 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 10048
diff changeset
14 " distribution.
8dad79c661d1 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 10048
diff changeset
15 " * Neither the name of Google Inc. nor the names of its
8dad79c661d1 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 10048
diff changeset
16 " contributors may be used to endorse or promote products derived from
8dad79c661d1 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 10048
diff changeset
17 " this software without specific prior written permission.
4869
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
18 "
22824
8dad79c661d1 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 10048
diff changeset
19 " THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
8dad79c661d1 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 10048
diff changeset
20 " "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
8dad79c661d1 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 10048
diff changeset
21 " LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
8dad79c661d1 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 10048
diff changeset
22 " A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
8dad79c661d1 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 10048
diff changeset
23 " OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
8dad79c661d1 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 10048
diff changeset
24 " SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
8dad79c661d1 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 10048
diff changeset
25 " LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
8dad79c661d1 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 10048
diff changeset
26 " DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
8dad79c661d1 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 10048
diff changeset
27 " THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
8dad79c661d1 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 10048
diff changeset
28 " (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
8dad79c661d1 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 10048
diff changeset
29 " OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
8dad79c661d1 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 10048
diff changeset
30
8dad79c661d1 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 10048
diff changeset
31 " This is the Vim syntax file for Google Protocol Buffers as found at
8dad79c661d1 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 10048
diff changeset
32 " https://github.com/protocolbuffers/protobuf
8dad79c661d1 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 10048
diff changeset
33 " Last update: 2020 Oct 29
4869
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
34
10048
43efa4f5a8ea commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents: 4869
diff changeset
35 " quit when a syntax file was already loaded
43efa4f5a8ea commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents: 4869
diff changeset
36 if exists("b:current_syntax")
4869
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
37 finish
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
38 endif
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
39
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
40 syn case match
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
41
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
42 syn keyword protoTodo contained TODO FIXME XXX
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
43 syn cluster protoCommentGrp contains=protoTodo
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
44
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
45 syn keyword protoSyntax syntax import option
22824
8dad79c661d1 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 10048
diff changeset
46 syn keyword protoStructure package message group oneof
4869
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
47 syn keyword protoRepeat optional required repeated
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
48 syn keyword protoDefault default
22824
8dad79c661d1 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 10048
diff changeset
49 syn keyword protoExtend extend extensions to max reserved
4869
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
50 syn keyword protoRPC service rpc returns
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
51
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
52 syn keyword protoType int32 int64 uint32 uint64 sint32 sint64
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
53 syn keyword protoType fixed32 fixed64 sfixed32 sfixed64
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
54 syn keyword protoType float double bool string bytes
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
55 syn keyword protoTypedef enum
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
56 syn keyword protoBool true false
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
57
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
58 syn match protoInt /-\?\<\d\+\>/
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
59 syn match protoInt /\<0[xX]\x+\>/
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
60 syn match protoFloat /\<-\?\d*\(\.\d*\)\?/
22824
8dad79c661d1 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 10048
diff changeset
61 syn region protoComment start="\/\*" end="\*\/" contains=@pbCommentGrp,@Spell
8dad79c661d1 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 10048
diff changeset
62 syn region protoComment start="//" skip="\\$" end="$" keepend contains=@pbCommentGrp,@Spell
8dad79c661d1 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 10048
diff changeset
63 syn region protoString start=/"/ skip=/\\./ end=/"/ contains=@Spell
8dad79c661d1 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 10048
diff changeset
64 syn region protoString start=/'/ skip=/\\./ end=/'/ contains=@Spell
4869
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
65
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
66 hi def link protoTodo Todo
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
67
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
68 hi def link protoSyntax Include
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
69 hi def link protoStructure Structure
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
70 hi def link protoRepeat Repeat
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
71 hi def link protoDefault Keyword
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
72 hi def link protoExtend Keyword
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
73 hi def link protoRPC Keyword
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
74 hi def link protoType Type
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
75 hi def link protoTypedef Typedef
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
76 hi def link protoBool Boolean
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
77
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
78 hi def link protoInt Number
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
79 hi def link protoFloat Float
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
80 hi def link protoComment Comment
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
81 hi def link protoString String
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
82
a5352e73dc00 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
83 let b:current_syntax = "proto"