detect method

  1. @override
Future<void> detect()
override

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);
}