kythe.io@v0.0.68-0.20240422202219-7225dbc01741/kythe/proto/vnames_config.proto (about)

     1  /*
     2   * Copyright 2023 The Kythe Authors. All rights reserved.
     3   *
     4   * Licensed under the Apache License, Version 2.0 (the "License");
     5   * you may not use this file except in compliance with the License.
     6   * You may obtain a copy of the License at
     7   *
     8   *   http://www.apache.org/licenses/LICENSE-2.0
     9   *
    10   * Unless required by applicable law or agreed to in writing, software
    11   * distributed under the License is distributed on an "AS IS" BASIS,
    12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13   * See the License for the specific language governing permissions and
    14   * limitations under the License.
    15   */
    16  
    17  syntax = "proto3";
    18  
    19  package kythe.proto;
    20  
    21  import "kythe/proto/storage.proto";
    22  
    23  option go_package = "kythe.io/kythe/proto/vnames_config_go_proto";
    24  option java_package = "com.google.devtools.kythe.proto";
    25  option cc_enable_arenas = true;
    26  
    27  // Top-level configuration for vnames.json file.
    28  message VNamesConfiguration {
    29    // An individual pattern -> VName entry.
    30    message Rule {
    31      // The RE2-compatible pattern against which to match the build path.
    32      // The match will be "unanchored" or "partial".
    33      string pattern = 1;
    34      // The VName substitution template to use. Capture groups can be
    35      // referenced via @n@ where n is the number.
    36      // Only corpus, root and path are relevant.
    37      VName vname = 2;
    38    }
    39    repeated Rule rules = 1;
    40  }