shh 0.7.0.0 → 0.7.0.1
raw patch · 6 files changed
+30/−9 lines, 6 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- ChangeLog.md +4/−0
- README.md +9/−2
- app/shh-app.hs +5/−2
- shh.cabal +1/−1
- src/Shh/Internal.hs +2/−2
- test/Readme.lhs +9/−2
ChangeLog.md view
@@ -1,5 +1,9 @@ # Revision history for shh +## 0.7.0.1 -- 2019-08-12++Change how we test for library installation.+ ## 0.7.0.0 -- 2019-08-06 This is a fairly major refactor which consolidates a bunch of type classes
README.md view
@@ -180,7 +180,7 @@ ## Usage -Enable Temlpate Haskell and load the environment+Enable Template Haskell and load the environment {-# LANGUAGE TemplateHaskell #-} $(loadEnv SearchPath)@@ -205,6 +205,13 @@ GHCi which automatically loads your environment and allows you to have custom config when using GHCi as a shell. +To install it, one option is to use `cabal new-install`++```bash+cabal new-install --lib shh+cabal new-install --lib ssh-extras+```+ The `shh` binary will look in your `$SHH_DIR` (defaults to `$HOME/.shh`) for a `Shell.hs`, `init.ghci` and `wrapper` files. If these don't exist default ones will be created.@@ -273,7 +280,7 @@ This table attempts to summarise some of the differences. * `Pipe Style` refers to how processes are joined together, "native" means- that the mechanisms provided by the OS are used, while "via haskell" means+ that the mechanisms provided by the OS are used, while "via Haskell" means that the data is read into the Haskell process, and then written into the subprocess. * `Via Shell` refers to whether subprocesses are launched directly or via
app/shh-app.hs view
@@ -83,14 +83,17 @@ setOwnerWritable True $ emptyPermissions doIfMissing "init.ghci" $ do- tryFailure (exe (pack wrapper) "ghc-pkg" "latest" "shh") >>= \case+ putStrLn "Generating init.ghci..."+ putStrLn " ... checking for shh..."+ tryFailure (exe (pack wrapper) "ghc" "-e" "import Shh") >>= \case Left _ -> do putStrLn "Please make the shh and shh-extras packages available in the shh" putStrLn "environment (install it globally or modify the wrapper, see docs)." putStrLn "Aborting" exitFailure Right _ -> writeFile "init.ghci" defaultInitGhci- tryFailure (exe (pack wrapper) "ghc-pkg" "latest" "shh-extras") >>= \case+ putStrLn " ... checking for shh-extras..."+ tryFailure (exe (pack wrapper) "ghc" "-e" "import Shh.Prompt") >>= \case Left _ -> do putStrLn "## WARNING ##########################################################" putStrLn "# You do not have the shh-extras library installed, and so we are"
shh.cabal view
@@ -1,5 +1,5 @@ name: shh-version: 0.7.0.0+version: 0.7.0.1 synopsis: Simple shell scripting from Haskell description: Provides a shell scripting environment for Haskell. It helps you use external binaries, and allows you to
src/Shh/Internal.hs view
@@ -485,11 +485,11 @@ captureLines :: Shell io => io [ByteString] captureLines = captureEndBy "\n" --- | Capture the words of the output.+-- | Capture stdout, splitting it into words. captureWords :: Shell io => io [ByteString] captureWords = readInput (pure . BC8.words) --- | Capture the output of the process and attempt to `read` it.+-- | Capture stdout, and attempt to @`read`@ it captureRead :: (Shell io, Read a, NFData a) => io a captureRead = readInput (pure . read . toString)
test/Readme.lhs view
@@ -180,7 +180,7 @@ ## Usage -Enable Temlpate Haskell and load the environment+Enable Template Haskell and load the environment {-# LANGUAGE TemplateHaskell #-} $(loadEnv SearchPath)@@ -205,6 +205,13 @@ GHCi which automatically loads your environment and allows you to have custom config when using GHCi as a shell. +To install it, one option is to use `cabal new-install`++```bash+cabal new-install --lib shh+cabal new-install --lib ssh-extras+```+ The `shh` binary will look in your `$SHH_DIR` (defaults to `$HOME/.shh`) for a `Shell.hs`, `init.ghci` and `wrapper` files. If these don't exist default ones will be created.@@ -273,7 +280,7 @@ This table attempts to summarise some of the differences. * `Pipe Style` refers to how processes are joined together, "native" means- that the mechanisms provided by the OS are used, while "via haskell" means+ that the mechanisms provided by the OS are used, while "via Haskell" means that the data is read into the Haskell process, and then written into the subprocess. * `Via Shell` refers to whether subprocesses are launched directly or via