syntax = "proto3"; package filepb; // this generic message is used by autogen to identify and // then dump the uuid and version from any arbitrary .pb file message Identify { // `autogenpb:marshal` string uuid = 1; // string version = 2; // } message Filetype { // `autogenpb:var:w io.Writer` bool nothing = 1; // generate autosave functions (in marshal.go ?) } // I know, I know, the whole point of using protobuf // is so you don't need a uuid or versions because it's // inherently forward compatable. nonetheless, a simple stubbed out // trivial and empty protobuf message can marshal and identify all the files // also, this could be used to modify /usr/bin/file /usr/share/magic to identify the files // maybe this is already been done and is pointless, but it seems like a good idea message Filetypes { // `autogenpb:marshal` string uuid = 1; // `autogenpb:uuid:c1239110-ad4f-41f3-b0f5-189034f0a3a7` string version = 2; // `autogenpb:version:v0.0.1` repeated Filetype Filetypes = 3; // an array of each .proto file in the working directory }