module Main where import System.Delta import System.Environment import Control.Monad import Control.Concurrent main = do args <- getArgs case args of [path] -> do watcher <- deltaDirWithCallbacks path withNewCallback watcher (\x -> putStrLn $ "new:\t" ++ x) withDeleteCallback watcher (\x -> putStrLn $ "del:\t" ++ x) withChangedCallback watcher (\x -> putStrLn $ "changed:\t" ++ x ) forever $ threadDelay (1000 * 1000) _ -> putStrLn errorString errorString = "This is a simple command line interface to the delta\ \library. Call the program with delta-cli , where path\ \is the path of the folder / file you want to watch."