detect method
Detects the capability, or returns null if not present.
Implementation
@override
Future<Capability?> detect() async {
final result = await runProbe(executable, args);
if (result == null || result.exitCode != 0) return null;
final output = '${result.stdout}\n${result.stderr}';
final match = versionPattern.firstMatch(output);
return Capability(kind: kind, name: name, version: match?.group(1));
}