getRecentFiles static method

List<String> getRecentFiles({
  1. int hours = 24,
  2. int limit = 10,
})

Get files modified within the last N hours

Parameters:

  • hours: look back this many hours (default: 24)
  • limit: maximum files to return (default: 10)

Returns: sorted list of file paths (most recent first)

Implementation

static List<String> getRecentFiles({int hours = 24, int limit = 10}) {
  final recentFiles = <String, DateTime>{};
  final ignorePatterns = {
    '.git',
    'node_modules',
    'build',
    'dist',
    '.contextforge',
    '.idea',
    '.vscode',
    '.dart_tool',
  };

  final now = DateTime.now();
  final cutoffTime = now.subtract(Duration(hours: hours));

  try {
    _scanDirectory(
      Directory.current,
      recentFiles,
      ignorePatterns,
      cutoffTime,
    );
  } catch (e) {
    print('Warning: Error scanning for recent files: $e');
    return [];
  }

  // Sort by most recent first
  final sorted = recentFiles.entries.toList()
    ..sort((a, b) => b.value.compareTo(a.value));

  // Return top N file paths
  return sorted.take(limit).map((e) => e.key).toList();
}