Tôi đang sử dụng gói FSNotify để xem hệ thống tệp của mình để thay đổi tệp đánh dấu, vì vậy tôi có thể tự động chạy chúng thông qua Pandoc. Tuy nhiên, tôi gặp sự cố khi yêu cầu người quản lý thoát ra độc đáo.Giám sát hệ thống tệp bằng Haskell
Khi đứng, mã của tôi được dựa trên Yesod's use of the same package:
module Main where
import System.FSNotify
import Filesystem (getWorkingDirectory)
import System.Exit
import Control.Concurrent
main = do
cwd <- getWorkingDirectory
putStrLn "Watching current directory, press RETURN to exit."
withManager $ \man -> do
_ <- forkIO $ do
watchTree man cwd (const True) $ \fp -> print fp
_ <- getLine
exitSuccess
Khi tôi sử dụng runhaskell
, chương trình hoạt động hoàn hảo, nhưng nếu tôi biên dịch nó vào một thực thi (sử dụng ghc --make
), khi tôi nhấn enter, thiết bị đầu cuối của tôi trở nên không phản hồi. Tôi đang biên dịch này trên Windows 7 64-bit.
EDIT: Completed code. Vâng, không hoàn toàn hoàn thành - vẫn còn nhiều hơn tôi muốn làm với điều này - nhưng làm việc.
Cảm ơn, làm việc như một nét duyên dáng - một khi tôi nhận ra GHC đã không xây dựng lại tệp thực thi của tôi vì tôi đã không thay đổi tệp nguồn, chỉ cần cờ trình biên dịch: P. –