This file is indexed.

/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 -&gt; FilePath -&gt; IO ()
--   compass man dir = do
--    putStrLn $ <a>compass </a> ++ encodeString dir
--    treeExtExists man dir <a>scss</a> $ fp -&gt;
--      when (<a>deploy</a> <a>notElem</a> splitDirectories fp) $ do
--       let d = encodeString $ head (splitDirectories rel)
--       system <a>cd </a> ++ d ++ <a>&amp;&amp; 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)