steeloverseer 2.1.0.0 → 2.1.0.1
raw patch · 4 files changed
+86/−18 lines, 4 filesdep +aeson-compatdep ~aesondep ~fsnotifynew-uploaderPVP ok
version bump matches the API change (PVP)
Dependencies added: aeson-compat
Dependency ranges changed: aeson, fsnotify
API changes (from Hackage documentation)
Files
- README.md +30/−0
- src/Sos/FileEvent.hs +0/−1
- src/Sos/Rule.hs +2/−2
- steeloverseer.cabal +54/−15
README.md view
@@ -8,7 +8,10 @@ be selected using regular expressions and the commands may include capture groups. [](https://travis-ci.org/steeloverseer/steeloverseer)+[](https://github.com/schell/steeloverseer/actions/workflows/stack.yml)+[](https://github.com/schell/steeloverseer/actions/workflows/haskell-ci.yml) + Installation ============ @@ -115,3 +118,30 @@ We can modify `foo.hs` and trigger `hlint foo.hs` to run. During its execution, modifying `bar.hs` will *enqueue* `hlint bar.hs`, while modifying `foo.hs` again will *re-run* `hlint foo.hs`.++Transient Files+---------------+Sometimes text editors and other programs create short lived files in the +directories that `sos` is watching. These can trigger `sos` to run your +pipeline. This can often be avoided by using precise include syntax, ie +adding explicit matchers like an end-line match:++```+- pattern: .*\.tex$ +```++Alternatively you may use exclude syntax to exclude any transient editor files +(eg here's an sosrc used for editing Haskell doctests and ignoring emac's flycheck files):++```+# This is for testing documentation+- patterns:+ - .*/[^_]*\.l?hs$+ excludes:+ - \#+ - flycheck+ commands:+ - stack exec doctest -- \0+```++For more info, see https://github.com/schell/steeloverseer/issues/38
src/Sos/FileEvent.hs view
@@ -7,7 +7,6 @@ import Sos.Utils import Data.ByteString (ByteString)-import Data.Monoid ((<>)) data FileEvent = FileAdded ByteString
src/Sos/Rule.hs view
@@ -11,11 +11,11 @@ import Control.Applicative import Control.Monad.Catch (MonadThrow, throwM)-import Data.Aeson.Types+import Data.Aeson.Compat ((.:), FromJSON(..), Parser, Value(..))+import Data.Aeson.Types (typeMismatch) import Data.ByteString (ByteString) import Data.ByteString.Internal (c2w) import Data.Either-import Data.Foldable (asum) import Data.Text (Text) import Text.Regex.TDFA import Text.Regex.TDFA.ByteString (compile)
steeloverseer.cabal view
@@ -1,13 +1,11 @@ cabal-version: 1.12 --- This file has been generated from package.yaml by hpack version 0.30.0.+-- This file has been generated from package.yaml by hpack version 0.35.0. -- -- see: https://github.com/sol/hpack------ hash: 8d42197bfca3bf4b40cbdc28e5f5253c3f6a54a083bf03d417f21619817f802e name: steeloverseer-version: 2.1.0.0+version: 2.1.0.1 synopsis: A file watcher and development tool. description: A command line tool that responds to filesystem events. Allows the user to automatically execute commands after files are added or updated. Watches files using regular expressions. category: Development@@ -16,10 +14,12 @@ bug-reports: https://github.com/schell/steeloverseer/issues author: Schell Scivally, Mitchell Rosen-maintainer: schell@takt.com+maintainer: peterbecich@gmail.com license: BSD3 license-file: LICENSE build-type: Simple+tested-with:+ GHC==9.2.2 extra-source-files: README.md @@ -39,20 +39,33 @@ System.FSNotify.Streaming hs-source-dirs: src- default-extensions: BangPatterns DeriveDataTypeable DeriveFunctor FlexibleContexts InstanceSigs LambdaCase OverloadedStrings RecordWildCards ScopedTypeVariables ViewPatterns+ default-extensions:+ BangPatterns+ DeriveDataTypeable+ DeriveFunctor+ FlexibleContexts+ InstanceSigs+ LambdaCase+ OverloadedStrings+ RecordWildCards+ ScopedTypeVariables+ ViewPatterns ghc-options: -Wall+ build-tool-depends:+ hspec-discover:hspec-discover build-depends: aeson >=0.8+ , aeson-compat >=0.3.10 , ansi-terminal >=0.6.2 , async >=2.0 , base >=4.0 && <5.0 , bytestring >=0.10 , containers >=0.5 , exceptions- , fsnotify >=0.3+ , fsnotify ==0.3.* , managed >=1.0.1 , mtl >=2.2- , process >=1.6 && <1.7+ , process ==1.6.* , regex-tdfa >=1.2 , semigroups >=0.16 , stm >=2.4@@ -66,16 +79,29 @@ main-is: Main.hs hs-source-dirs: app- default-extensions: BangPatterns DeriveDataTypeable DeriveFunctor FlexibleContexts InstanceSigs LambdaCase OverloadedStrings RecordWildCards ScopedTypeVariables ViewPatterns+ default-extensions:+ BangPatterns+ DeriveDataTypeable+ DeriveFunctor+ FlexibleContexts+ InstanceSigs+ LambdaCase+ OverloadedStrings+ RecordWildCards+ ScopedTypeVariables+ ViewPatterns ghc-options: -Wall -threaded+ build-tool-depends:+ hspec-discover:hspec-discover build-depends:- async >=2.0+ aeson-compat >=0.3.10+ , async >=2.0 , base >=4.0 && <5.0 , bytestring >=0.10 , directory >=1.2 , exceptions , filepath >=1.3- , fsnotify >=0.3+ , fsnotify ==0.3.* , managed >=1.0.1 , mtl >=2.2 , optparse-applicative >=0.11@@ -86,10 +112,10 @@ , streaming >=0.1.0 && <0.3 , text >=1.2 , yaml >=0.8+ default-language: Haskell2010 if os(darwin) build-depends: hfsevents >=0.1.3- default-language: Haskell2010 test-suite spec type: exitcode-stdio-1.0@@ -99,14 +125,27 @@ Paths_steeloverseer hs-source-dirs: test- default-extensions: BangPatterns DeriveDataTypeable DeriveFunctor FlexibleContexts InstanceSigs LambdaCase OverloadedStrings RecordWildCards ScopedTypeVariables ViewPatterns+ default-extensions:+ BangPatterns+ DeriveDataTypeable+ DeriveFunctor+ FlexibleContexts+ InstanceSigs+ LambdaCase+ OverloadedStrings+ RecordWildCards+ ScopedTypeVariables+ ViewPatterns ghc-options: -Wall+ build-tool-depends:+ hspec-discover:hspec-discover build-depends:- async >=2.0+ aeson-compat >=0.3.10+ , async >=2.0 , base >=4.0 && <5.0 , bytestring >=0.10 , exceptions- , fsnotify >=0.3+ , fsnotify ==0.3.* , hspec , managed >=1.0.1 , mtl >=2.2