trackFileDeletion method
AttributionState
trackFileDeletion({
- required AttributionState attrState,
- required String filePath,
- required String oldContent,
Track a file deletion by Neomage.
Implementation
AttributionState trackFileDeletion({
required AttributionState attrState,
required String filePath,
required String oldContent,
}) {
final normalizedPath = normalizeFilePath(filePath);
final existingState = attrState.fileStates[normalizedPath];
final existingContribution = existingState?.neomageContribution ?? 0;
final deletedChars = oldContent.length;
final newFileState = FileAttributionState(
contentHash: '',
neomageContribution: existingContribution + deletedChars,
mtime: DateTime.now().millisecondsSinceEpoch,
);
final newFileStates = Map<String, FileAttributionState>.from(
attrState.fileStates,
);
newFileStates[normalizedPath] = newFileState;
return attrState.copyWith(fileStates: newFileStates);
}