defaultThreadDisplayNameFromPath function
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(' ');
}