starter 0.1.0 → 0.2.0
raw patch · 3 files changed
+19/−8 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- README.md +5/−0
- src/Starter.hs +11/−6
- starter.cabal +3/−2
README.md view
@@ -1,4 +1,7 @@ [](https://travis-ci.org/rkaippully/starter)+[](https://github.com/rkaippully/starter/releases)+[](https://hackage.haskell.org/package/starter)+[](http://stackage.org/lts/package/starter) # What is starter? Server side software development usually needs frequent restarts. You would launch a server, make@@ -6,6 +9,8 @@ tedious cycle. See documentation of module `Starter` for details.++An example web server using starter can be found in `example` directory. # License Starter is distributed under Mozilla Public License 2.0. See the file LICENSE for details.
src/Starter.hs view
@@ -18,12 +18,14 @@ GHCi session that automatically reloads your program whenever your source code changes. 1. In some module of your program (e.g. @MyModule@), define a variable @mySettings@ of type 'StarterSettings'.+ 2. Define a function @runDevMode = runStarter mySettings@. 2. Create a @.ghci@ file in your project with the following contents: - @- :load MyModule Starter- :def! starter runStarter mySettings- @+ @+ :load MyModule Starter+ :def! starter runDevMode+ @+ 3. Now you can start your program with the @:starter@ command. This will run your program under a monitor. When the source code changes, the monitor will interrupt the program with an exception, reload the modules with a @:reload@ command and restart the program.@@ -43,11 +45,14 @@ data StarterSettings = StarterSettings {- -- | The program to be run by starter+ -- | The program to be run by starter. The command line arguments passed to the GHCi command will+ -- be passed to this function. starterProgram :: String -> IO () -- | The GHCi command name , starterCommand :: String- -- | The expression that should be bound to the GHCi command. For e.g., @runStarter mySettings@.+ -- | The expression that should be bound to the GHCi command. For e.g., if you created a @.ghci@+ -- file with the command @:def! starter runDevMode@, then this should be set to+ -- @runDevMode@. , starterCommandExpression :: String -- | Predicate to determine if the program should be restarted on change of a file. , starterIsRestartable :: FilePath -> Bool
starter.cabal view
@@ -2,10 +2,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: 9d1b69ecd738c0ae71b70a456823778de98e27a64210b15daccb52dbad66e36b+-- hash: b7fb498a9c1fa7ab48aee3373fe7a6bc6cdbf186f980445114c87b589cc5c3dc name: starter-version: 0.1.0+version: 0.2.0 synopsis: Develop applications without restarts description: Please see the README on Github at <https://github.com/rkaippully/starter#readme> category: Development@@ -30,6 +30,7 @@ library hs-source-dirs: src+ ghc-options: -O2 -Wall -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints build-depends: base >=4.7 && <5 , fsnotify >=0.2.1 && <0.3