syntax = "proto2";

   import "custom.proto";

message Foo    { 
       // Leading comment on deprecated.
       option deprecated = false;
          option /* Comment before the custom option name */ (custom.message_thing_option).foo = /* Comment on the bar value of the option */ 1;
    option /* Comment before the custom option name */ (custom.message_thing_option)/* Comment between the name and the field */.bar = /* Comment on the foo value of the option */ 2; 
option (custom.message_thing_option) = {
  // This should be a trailing comment block on the message literal.
  // It's spread across multiple lines.

 /* Leading comment on the 'foo' element */ foo:  1  /* Comment on bar */ bar:   2  /* Comment on truth */  truth:false    }  ;



      option (custom.message_thing_option)=  { /*leading*/ foo: 1 /*trailing*/ } /*leading*/;/*trailing*/

       // This is attached to the optional label.
     optional string name = 1 [    deprecated   = true  ]; 
   repeated int64 values = 2 [  /* leading comment */ packed=false /* trailing comment */ ];


option (custom.message_thing_option)= {
  foo:1 bar:2 baz:3
  buzz:<
    a:"abc" b:"xyz"
    c:[ /*lead*/"foo", "bar", "baz"/*trail*/]
    d[<
        foo: 99
      >,
      <foo:98>,
      </*lead*/foo:97/*trail*/>
    ]
    e []
    f { }
       g: [1]
  >
  frobnitz: <foo:1>
};
}
