detect method
Performs the capability detection process
Implementation
@override
Future<void> detect() async {
// Get terminal type from environment
final termEnv = Platform.environment['TERM'] ?? '';
final isXterm = termEnv.contains('xterm');
if (!isXterm) return;
// Detect color support levels
supportedCaps.add(Capability.standardColors);
if (termEnv.contains('256')) {
supportedCaps.add(Capability.extendedColors);
}
if (termEnv.contains('direct')) {
supportedCaps.add(Capability.trueColors);
}
// Mouse support (using SGR/X10 protocols)
supportedCaps.add(Capability.mouse);
// Text formatting capabilities using SGR sequences
supportedCaps.add(Capability.intenseTextDecoration);
supportedCaps.add(Capability.underlineTextDecoration);
supportedCaps.add(Capability.italicTextDecoration);
supportedCaps.add(Capability.crossedOutTextDecoration);
supportedCaps.add(Capability.textBlinkTextDecoration);
supportedCaps.add(Capability.doubleUnderlineTextDecoration);
}