syntax = "proto3";

// Single-element dicts inside arrays should stay inline.
option (custom.array_of_dicts) = {
  things: [
    {foo: 99},
    {foo: 98}
  ]
};
// Issue 9: Message literal with inline block comments should expand
// to multi-line.
option (custom.commented_option) = {
  /*leading*/
  foo: 1 /*trailing*/
};
option (custom.file_thing_option) = {
  foo: 1
  bar: 2
  truth: false
  recursive: {
    foo: 3
    bar: 4
    truth: true
  }
};
option (custom.message_thing_option) = {foo: 5};
option (custom.service_thing_option) = {foo: 1 bar: 2};
option (custom.single_nested_array) = {not_in: [1]};
// A single-field literal whose value is itself a message or array
// literal expands under the legacy (strict) layout even when the source
// is flat, matching the legacy formatter; a single scalar field stays
// inline (see custom.message_thing_option above). Under the dynamic
// layout the flat source is preserved.
option (custom.single_nested_message) = {gt: {}};
