/*
 * This is a top level leading comment attached to the syntax.
 * It uses C-style block comments.
 */

//
//  It can be separated across multiple lines like this.

//
//      All of them should retain their newlines.

// This is another leading comment on the syntax.
syntax /* This comment is attached to the '=' */ = "proto3"; // Trailing comment on syntax.

// Between syntax and package.

package /* Leading on package name. */ header.v1 /* Leading on semicolon */; // Trailing in-line.

import /* Leading on import path */ "custom.proto";

option /* Leading on option name */ (custom.file_thing_option).truth /* Between truth and value */ = true /* After 'true' */;

/**
 = Here's another block comment.
 = But this one uses equal sign as the
 = prefix for each line.
*/
message Foo {
  /*
   * This is a comment nested inside a block.
   * It too uses C-style block comments.
   */
  string name = 1;
}
