/usr/share/doc/libghc-fsnotify-doc/html/fsnotify.txt is in libghc-fsnotify-doc 0.0.11-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 | -- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Cross platform library for file change notification.
--
-- Cross platform library for file creation, modification, and deletion
-- notification. This library builds upon existing libraries for
-- platform-specific Window, Mac, and Linux filesystem event
-- notification.
@package fsnotify
@version 0.0.11
-- | cross-platform file watching.
module System.FSNotify
-- | A file event reported by a file watcher. Each event contains the
-- canonical path for the file and a timestamp guaranteed to be after the
-- event occurred (timestamps represent current time when FSEvents
-- receives it from the OS and/or platform-specific Haskell modules).
data Event
Added :: FilePath -> UTCTime -> Event
Modified :: FilePath -> UTCTime -> Event
Removed :: FilePath -> UTCTime -> Event
type EventChannel = Chan Event
-- | Helper for extracting the time associated with an event.
eventTime :: Event -> UTCTime
-- | Helper for extracting the path associated with an event.
eventPath :: Event -> FilePath
-- | An action to be performed in response to an event.
type Action = Event -> IO ()
-- | A predicate used to determine whether to act on an event.
type ActionPredicate = Event -> Bool
data WatchManager
-- | Perform an IO action with a WatchManager in place. Tear down the
-- WatchManager after the action is complete.
withManager :: (WatchManager -> IO a) -> IO a
-- | Start a file watch manager. Directories can only be watched when they
-- are managed by a started watch watch manager. When finished watching.
-- you must release resources via <a>stopManager</a>. It is preferrable
-- if possible to use <a>withManager</a> to handle this automatically.
startManager :: IO WatchManager
-- | Stop a file watch manager. Stopping a watch manager will immediately
-- stop watching for files and free resources.
stopManager :: WatchManager -> IO ()
defaultConfig :: WatchConfig
-- | Config object, currently used just for debouncing events.
data WatchConfig
DebounceDefault :: WatchConfig
Debounce :: NominalDiffTime -> WatchConfig
NoDebounce :: WatchConfig
withManagerConf :: WatchConfig -> (WatchManager -> IO a) -> IO a
startManagerConf :: WatchConfig -> IO WatchManager
-- | Watch the immediate contents of a directory by committing an Action
-- for each event. Watching the immediate contents of a directory will
-- only report events associated with files within the specified
-- directory, and not files within its subdirectories. No two events
-- pertaining to the same FilePath will be executed concurrently.
watchDir :: WatchManager -> FilePath -> ActionPredicate -> Action -> IO ()
-- | Watch the immediate contents of a directory by streaming events to a
-- Chan. Watching the immediate contents of a directory will only report
-- events associated with files within the specified directory, and not
-- files within its subdirectories.
watchDirChan :: WatchManager -> FilePath -> ActionPredicate -> EventChannel -> IO ()
-- | Watch all the contents of a directory by committing an Action for each
-- event. Watching all the contents of a directory will report events
-- associated with files within the specified directory and its
-- subdirectories. No two events pertaining to the same FilePath will be
-- executed concurrently.
watchTree :: WatchManager -> FilePath -> ActionPredicate -> Action -> IO ()
-- | Watch all the contents of a directory by streaming events to a Chan.
-- Watching all the contents of a directory will report events associated
-- with files within the specified directory and its subdirectories.
watchTreeChan :: WatchManager -> FilePath -> ActionPredicate -> EventChannel -> IO ()
module System.FSNotify.Devel
-- | In the given directory tree, for files with the given file extension
-- perform the given action
treeExtAny :: WatchManager -> FilePath -> Text -> (FilePath -> IO ()) -> IO ()
-- | Example of compiling scss files with compass
--
-- <pre>
-- compass :: WatchManager -> FilePath -> IO ()
-- compass man dir = do
-- putStrLn $ <a>compass </a> ++ encodeString dir
-- treeExtExists man dir <a>scss</a> $ fp ->
-- when (<a>deploy</a> <a>notElem</a> splitDirectories fp) $ do
-- let d = encodeString $ head (splitDirectories rel)
-- system <a>cd </a> ++ d ++ <a>&& bundle exec compass compile</a>
-- return ()
-- </pre>
--
-- In the given directory tree, watch for any Added and Modified events
-- (but ignore Removed events) for files with the given file extension
-- perform the given action
treeExtExists :: WatchManager -> FilePath -> Text -> (FilePath -> IO ()) -> IO ()
doAllEvents :: Monad m => (FilePath -> m ()) -> Event -> m ()
allEvents :: (FilePath -> Bool) -> (Event -> Bool)
existsEvents :: (FilePath -> Bool) -> (Event -> Bool)
|