syntax = "proto2"; package go; import "google/protobuf/descriptor.proto"; option go_package = "github.com/alta/protopatch/patch/gopb"; // Options represent Go-specific options for Protobuf messages, fields, oneofs, enums, or enum values. message Options { // The name option renames the generated Go identifier and related identifiers. // For a message, this renames the generated Go struct and nested messages or enums, if any. // For a message field, this renames the generated Go struct field and getter method. // For a oneof field, this renames the generated Go struct field, getter method, interface type, and wrapper types. // For an enum, this renames the generated Go type. // For an enum value, this renames the generated Go const. optional string name = 1; // The getter option renames the generated getter method (default: Get) // so a custom getter can be implemented in its place. optional string getter = 10; // TODO: implement this // The tags option specifies additional struct tags which are appended a generated Go struct field. // This option may be specified on a message field or a oneof field. // The value should omit the enclosing backticks. optional string tags = 20; // The stringer option renames a generated String() method (if any) // so a custom String() method can be implemented in its place. optional string stringer = 30; // TODO: implement for messages // The stringer_name option is a deprecated alias for stringer. // It will be removed in a future version of this package. optional string stringer_name = 31; } extend google.protobuf.MessageOptions { optional Options message = 7001; } extend google.protobuf.FieldOptions { optional Options field = 7001; } extend google.protobuf.OneofOptions { optional Options oneof = 7001; } extend google.protobuf.EnumOptions { optional Options enum = 7001; } extend google.protobuf.EnumValueOptions { optional Options value = 7001; } // LintOptions represent options for linting a generated Go file. message LintOptions { // Set all to true if all generated Go symbols should be linted. // This option affects generated structs, struct fields, enum types, and value constants. optional bool all = 1; // Set messages to true if message names should be linted. // This does not affect message fields. optional bool messages = 2; // Set messages to true if message field names should be linted. // This does not affect message fields. optional bool fields = 3; // Set enums to true if generated enum names should be linted. // This does not affect enum values. optional bool enums = 4; // Set values to true if generated enum value constants should be linted. optional bool values = 5; // Set extensions to true if generated extension names should be linted. optional bool extensions = 6; // The initialisms option lets you specify strings that should not be generated as mixed-case, // Examples: ID, URL, HTTP, etc. repeated string initialisms = 10; } extend google.protobuf.FileOptions { optional LintOptions lint = 7001; }