getSearchReadSummaryText static method
Generate a summary text for search/read/REPL counts.
Implementation
static String getSearchReadSummaryText({
required int searchCount,
required int readCount,
required bool isActive,
int replCount = 0,
int memorySearchCount = 0,
int memoryReadCount = 0,
int memoryWriteCount = 0,
int teamMemorySearchCount = 0,
int teamMemoryReadCount = 0,
int teamMemoryWriteCount = 0,
int listCount = 0,
}) {
final parts = <String>[];
// Memory operations first.
if (memoryReadCount > 0) {
final verb = isActive
? (parts.isEmpty ? 'Recalling' : 'recalling')
: (parts.isEmpty ? 'Recalled' : 'recalled');
parts.add(
'$verb $memoryReadCount ${memoryReadCount == 1 ? 'memory' : 'memories'}',
);
}
if (memorySearchCount > 0) {
final verb = isActive
? (parts.isEmpty ? 'Searching' : 'searching')
: (parts.isEmpty ? 'Searched' : 'searched');
parts.add('$verb memories');
}
if (memoryWriteCount > 0) {
final verb = isActive
? (parts.isEmpty ? 'Writing' : 'writing')
: (parts.isEmpty ? 'Wrote' : 'wrote');
parts.add(
'$verb $memoryWriteCount ${memoryWriteCount == 1 ? 'memory' : 'memories'}',
);
}
if (searchCount > 0) {
final verb = isActive
? (parts.isEmpty ? 'Searching for' : 'searching for')
: (parts.isEmpty ? 'Searched for' : 'searched for');
parts.add(
'$verb $searchCount ${searchCount == 1 ? 'pattern' : 'patterns'}',
);
}
if (readCount > 0) {
final verb = isActive
? (parts.isEmpty ? 'Reading' : 'reading')
: (parts.isEmpty ? 'Read' : 'read');
parts.add('$verb $readCount ${readCount == 1 ? 'file' : 'files'}');
}
if (listCount > 0) {
final verb = isActive
? (parts.isEmpty ? 'Listing' : 'listing')
: (parts.isEmpty ? 'Listed' : 'listed');
parts.add(
'$verb $listCount ${listCount == 1 ? 'directory' : 'directories'}',
);
}
if (replCount > 0) {
final replVerb = isActive ? "REPL'ing" : "REPL'd";
parts.add('$replVerb $replCount ${replCount == 1 ? 'time' : 'times'}');
}
final text = parts.join(', ');
return isActive ? '$text...' : text;
}