No Markdown tables

This rule enforces that public comments for proto descriptors do not have Markdown tables, as mandated in AIP-192.

Details

This rule looks at each descriptor in each proto file (exempting oneofs and the file itself) and complains if public comments include Markdown tables.

Examples

Incorrect code for this rule:

// Incorrect.
// Fields on the book include:
//
// Name     | Type
// -------- | --------
// `name`   | `string`
// `author` | `string`
message Book {
  // The resource name of the book.
  string name = 1;
}

Correct code for this rule:

// Correct.
// Fields on the book include:
//
// - `name`: `string`
// - `author`: `string`
message Book {
  // The resource name of the book.
  string name = 1;
}

Disabling

If you need to violate this rule, use a leading comment above the descriptor. Remember to also include an aip.dev/not-precedent comment explaining why.

// Fields on the book include:
//
// Name     | Type
// -------- | --------
// `name`   | `string`
// `author` | `string`
// (-- api-linter: core::0192::no-markdown-tables=disabled
//     aip.dev/not-precedent: We need to do this because reasons. --)
message Book {
  // The resource name of the book.
  string name = 1;
}