defaultThreadDisplayNameFromPath function

String defaultThreadDisplayNameFromPath(
  1. String path
)

Implementation

String defaultThreadDisplayNameFromPath(String path) {
  final segments = path.split('/').where((segment) => segment.isNotEmpty);
  final basename = segments.isEmpty ? path : segments.last;
  final rawName = basename.endsWith('.thread')
      ? basename.substring(0, basename.length - '.thread'.length)
      : basename;
  final trimmed = rawName.trim();
  if (trimmed.isEmpty || _uuidPattern.hasMatch(trimmed)) {
    return defaultUntitledThreadName;
  }

  final normalized = trimmed
      .replaceAll(RegExp(r'[_-]+'), ' ')
      .replaceAll(RegExp(r'\s+'), ' ')
      .trim();
  if (normalized.isEmpty) {
    return defaultUntitledThreadName;
  }

  return normalized
      .split(' ')
      .where((segment) => segment.isNotEmpty)
      .map(
        (segment) => segment.length == 1
            ? segment.toUpperCase()
            : '${segment[0].toUpperCase()}${segment.substring(1)}',
      )
      .join(' ');
}