SkillAgentSearch skills...

DirectoryWatcher

Watch changes in directories

Install / Use

/learn @Wosi/DirectoryWatcher
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

DirectoryWatcher

Watch changes in directories on different platforms.

This is an abstraction layer for

  • ReadDirectoryChangesW on Windows
  • FSEvent on Mac OS
  • inotify on Linux

How to use

// Create new DirectoryWatcher
DirectoryWatcher := TDirectoryWatcherBuilder
                    .New
                    .WatchDirectory(FolderToWatch)
                    .Recursively(True)
                    .OnChangeTrigger(OnFileEvent)
                    .Build;

// Start watching in different thread
DirectoryWatcher.Start;

// Stop DirectoryWatcher
DirectoryWatcher := Nil;

// ...

procedure TDirectoryWatcherDemo.OnFileEvent(const FilePath: String; 
                                            const EventType: TDirectoryEventType);
var
  EventTypeString: String;
begin
  WriteLn('======NEW EVENT======');
  WriteLn('File: ' + FilePath);

  case EventType of
    detAdded: EventTypeString := 'ADDED';
    detRemoved: EventTypeString := 'REMOVED';
    detModified: EventTypeString := 'MODIFIED';
  end;

  WriteLn('Type: ' + EventTypeString);
end;  
View on GitHub
GitHub Stars101
CategoryDevelopment
Updated4mo ago
Forks35

Languages

Pascal

Security Score

82/100

Audited on Nov 7, 2025

No findings