syntax = "proto2";

import "google/protobuf/descriptor.proto";

// Leading comment on (list).
option (list) = {
  names: [
    // Trailing comment on '['.

    // Leading comment on compound string.
    "one"
    /* One */
    "two"
    /* Two */
    "three" // Trailing
  ]

  values: [
    // Trailing comment on '['.

    // Leading comment on '-42'.
    -42, // Trailing on '-42'.

    // Leading comment on '-43'.
    - /* Between '-' and '43' */ 43 // Trailing on '43'.
  ]

  recursive: [
    // Trailing comment on '['.

    // Leading comment on '{'
    {
      // Leading comment on values key.
      values: [
        // Trailing comment on '['.

        // Leading comment on '-44'.
        -44, // Trailing on '-44'.
        // Leading on '45'.
        45 // Trailing on '45'.
      ]

      // Leading on '}'.
    }

    // Leading comment on ']',
  ]
};

extend google.protobuf.FileOptions {
  optional List list = 80000;
}

message List {
  repeated string names = 1;
  repeated sint32 values = 2;
  repeated List recursive = 3;
}
