packages feed

twitch-0.1.7.2: twitch.cabal

-- Initial twitch.cabal generated by cabal init.  For further
-- documentation, see http://haskell.org/cabal/users-guide/

name:                twitch
version:             0.1.7.2
synopsis:            A high level file watcher DSL
description:
 Twitch is a monadic DSL and library for file watching.
 It conveniently utilizes 'do' notation in the style of
 Shake and clay to expose the functionality of the
 fsnotify cross-platform file system watcher.
 .
 Here is an example that converts Markdown files to HTML and reloads Safari
 whenever the input files change.

 .
 @
  -- Use OverloadedStrings. Can't get that to show up here :(
  import Twitch
  import System.Process ( system )
 .
  main = defaultMain $ do
      "*.md"   |> \\filePath -> system $ "pandoc -t html " ++ filePath
      "*.html" |> \\_ -> system $ "osascript refreshSafari.AppleScript"
 @
 .
homepage:            https://github.com/jfischoff/twitch
license:             MIT
license-file:        LICENSE
author:              Jonathan Fischoff, Andreas Schacker
maintainer:          jonathangfischoff@gmail.com
copyright: (c) Jonathan Fischoff 2015
category:            System
build-type:          Simple
extra-source-files:  README.md
cabal-version:       >=1.10
source-repository head
  type:     git
  location: https://github.com/jfischoff/twitch.git



library
  exposed-modules: Twitch, Twitch.InternalRule
  other-modules: Twitch.Internal
               , Twitch.Main
               , Twitch.Path
               , Twitch.Rule
               , Twitch.Run
  other-extensions: RecordWildCards
                  , GeneralizedNewtypeDeriving
                  , OverloadedStrings
                  , FlexibleInstances
                  , RankNTypes
                  , DeriveDataTypeable
                  , ScopedTypeVariables
                  , MultiParamTypeClasses
                  , TypeSynonymInstances
                  , TemplateHaskell
  build-depends: base >=4.5 && <5.0
               , directory
               , filepath
               , transformers 
               , directory 
               , Glob 
               , time
               , data-default
               , fsnotify
               , optparse-applicative

  if !impl(ghc >= 8.0)
    build-depends: semigroups

  hs-source-dirs: src
  default-language: Haskell2010
  ghc-options: -Wall
  
test-suite unit-tests
  type: exitcode-stdio-1.0
  main-is: Main.hs
  hs-source-dirs: tests, src
  default-language: Haskell2010
  other-modules: Tests.Twitch
               , Tests.Twitch.Internal
               , Tests.Twitch.InternalRule
               , Tests.Twitch.Main
               , Tests.Twitch.Path
               , Tests.Twitch.Rule
               , Tests.Twitch.Run
  build-depends: base
               , hspec
               , filepath
               , transformers 
               , directory 
               , Glob 
               , time
               , data-default
               , fsnotify
               , optparse-applicative