expect(option.name,matches(_allowedArgumentNamePattern),reason:'$_header$target--${option.name}" is not a valid name for a command line argument. (Is it all lowercase? Does it use hyphens rather than underscores?)');
}
expect(option.name,isNot(matches(_bannedArgumentNamePattern)),reason:'$_header$target--${option.name}" is not a valid name for a command line argument. (We use "--foo-url", not "--foo-uri", for example.)');
expect(option.hide,isFalse,reason:'${_header}Help for $target--${option.name}" is always hidden. $_needHelp');
expect(option.hide,isFalse,reason:'${_header}Help for $target--${option.name}" is always hidden. $_needHelp');
}
expect(option.help,isNotNull,reason:'${_header}Help for $target--${option.name}" has null help. $_needHelp');
expect(option.help,isNotEmpty,reason:'${_header}Help for $target--${option.name}" has empty help. $_needHelp');
expect(option.help,isNot(matches(_bannedLeadingPatterns)),reason:'${_header}A line in the help for $target--${option.name}" starts with a lowercase letter. For stylistic consistency, all help messages must start with a capital letter.');