A tool to enforce Protocol Buffer style and conventions. - https://github.com/yoheimuta/protolint
prototool supports the rules following the Google style guide. - https://developers.google.com/protocol-buffers/docs/style ❯❯❯ pl list ENUM_FIELD_NAMES_UPPER_SNAKE_CASE: Verifies that all enum field names are CAPITALS_WITH_UNDERSCORES. ENUM_NAMES_UPPER_CAMEL_CASE: Verifies that all enum names are CamelCase ( with an initial capital). FIELD_NAMES_LOWER_SNAKE_CASE: Verifies that all field names are underscore_separated_names. MESSAGE_NAMES_UPPER_CAMEL_CASE: Verifies that all message names are CamelCase (with an initial capital). RPC_NAMES_UPPER_CAMEL_CASE: Verifies that all rpc names are CamelCase (with an initial capital). SERVICE_NAMES_UPPER_CAMEL_CASE: Verifies that all service names are CamelCase (with an initial capital). Example: ❯❯❯ pl lint . [v1/master/master.proto:30:5] Field name "shouldInvalidate" must be LowerSnakeCase [v1/search/search.proto:45:5] Field name "brandEnds" must be LowerSnakeCase [v1/support/marketing.proto:62:5] Field name "announcementInApp" must be LowerSnakeCase [v1/support/marketing.proto:64:5] Field name "announcementApns" must be LowerSnakeCase [v1/values/itemContentCondition.proto:35:5] EnumField name "Unidentified" must be UpperSnakeCase You can disable rules in a Protocol Buffer file. It is useful for projects which must keep API compatibility while enforce the style guide as much as possible. // protolint:disable:next FIELD_NAMES_LOWER_SNAKE_CASE bool brandEnds = 2; ... bool shouldInvalidate = 1; // protolint:disable:this FIELD_NAMES_LOWER_SNAKE_CASE .circleci/config.yaml example: version: 2 jobs: lint: docker: - image: circleci/golang:1.11.4 environment: GO111MODULE: "on" steps: - checkout - run: name: Enforce Protocol Buffer style and conventions. command: | go get -u -v github.com/yoheimuta/protolint/cmd/pl pl lint . workflows: version: 2 lint: jobs: - lint MIT License. Contributions and feedbacks welcome. Thanks, yoheimuta -- You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/protobuf. For more options, visit https://groups.google.com/d/optout.
