mvrilo / protoc-gen-d2

protoc-gen-d2 is a plugin for Google's Protocol Buffers (protoc) that generates svg of the entities specified in the proto files

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

protoc-gen-d2

Go Report Card

protoc-gen-d2 is a plugin for Google's Protocol Buffers (protoc) that generates svg of the entities specified in the proto files. The idea is to improve a project documentation with a visual representation of the data.

Example

Given a proto such as:

syntax="proto3";

package example;

enum Status {
    ACTIVE = 0;
    INACTIVE = 1;
}

message Phone {
    string number = 1;
}

message User {
    string name = 1;
    string email = 2;
    Phone phone = 3;
    Status status = 4;
}

message UserRequest {
    string name = 1;
}

service UserService {
    rpc GetUser (UserRequest) returns (User);
}

Run the protoc with protoc-gen-d2:

protoc \
    -I ./testdata/proto \
    --plugin=protoc-gen-d2=./protoc-gen-d2 \
    --d2_out="testdata/generated/" \
    ./testdata/proto/hello.proto

Result:

example

LICENSE

MIT

About

protoc-gen-d2 is a plugin for Google's Protocol Buffers (protoc) that generates svg of the entities specified in the proto files

License:MIT License


Languages

Language:Go 93.2%Language:Makefile 6.8%