To simplify suppressing multiple warnings, e.g. coming from check aliases.
The code for globbing is the same as for enabling checks, so the semantics are identical. Naturally, the meaning is reversed since we are _disabling_ warnings in NOLINT expressions.
This patch also simplifies the logic of NOLINTBEGIN/END, removing the division between "global" vs "specific" suppressions. It's not clear whether // NOLINTBEGIN(google*) is global or specific, for example.
Instead, keep it easy: NOLINTBEGIN(X) must have a matching NOLINTEND(X), for any X. This enforcement leads to easier to read code on the user side.
This feels like a more intuitive argument name to me, plus it aligns with the local variable ChecksStr below. What do you think?