Need help with protoc-gen-lint?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

ckaznocha
216 Stars 13 Forks MIT License 25 Commits 3 Opened issues

Description

A plug-in for Google's Protocol Buffers (protobufs) compiler to lint .proto files for style violations.

Services available

!
?

Need anything else?

Contributors list

protoc-gen-lint

Build Status Release License <!-- Coverage Status -->

A plug-in for Google's Protocol Buffers compiler to check

.proto
files for style violations.

About

This plug-in will check a

.proto
file for violations of Google's Protocol Buffer Style Guide. The protobuf compiler already reports on compilation errors; by using this plug-in you are also able to retrieve those compilation error without writing any file which is be helpful for use cases like IDE integrations.

Installation

Download

protoc-gen-lint
and make sure it's available in your PATH. Once it's in your PATH,
protoc
will be able to make use of the plug-in.

Dependencies

You must have a working version of Google's Protocol Buffers compiler

protoc
in your PATH. You can download it here

Using go get

If you have a go environment already set up you can use

go get
to install.
go get github.com/ckaznocha/protoc-gen-lint

Downloading binary

Download the latest release for your operating system here and ensure the executable is available in your PATH.

Usage

protoc --lint_out=. *.proto

Optional Checks

Optional checks are enabled but passing a comma separated list to the protoc "parameter". Example:

protoc --lint_out=sort_imports:. *.proto

Available optional checks: *

sort_imports
- checks that imports are sorted in descending alphabetical order.

TODO

  • Write more tests
  • Find out about any common protocol buffer smells to check for from the community

Contributing

See the

CONTRIBUTING
file.

License

See

LICENSE
file

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.