mirror of
https://github.com/kowainik/shellmet.git
synced 2024-07-14 13:10:29 +03:00
Generalise handle operator (#5)
This commit is contained in:
parent
217a9b34f6
commit
4187ef247c
10
CHANGELOG.md
10
CHANGELOG.md
@ -3,10 +3,14 @@
|
||||
`shellmet` uses [PVP Versioning][1].
|
||||
The changelog is available [on GitHub][2].
|
||||
|
||||
0.0.0
|
||||
=====
|
||||
## 0.0.1 — Apr 9, 2019
|
||||
|
||||
* Generalise the type of the `$?` operator to allow returning values on
|
||||
shell-command failuires.
|
||||
|
||||
## 0.0.0
|
||||
|
||||
* Initially created.
|
||||
|
||||
[1]: https://pvp.haskell.org
|
||||
[2]: https://github.com/kowainik/shellmet/releases
|
||||
[2]: https://github.com/kowainik/shellmet/releases
|
||||
|
@ -1,6 +1,6 @@
|
||||
cabal-version: 2.0
|
||||
name: shellmet
|
||||
version: 0.0.0
|
||||
version: 0.0.1
|
||||
synopsis: Out of the shell solution for scripting in Haskell
|
||||
description: Shellmet provides easy and convenient way to call shell commands from Haskell programs
|
||||
homepage: https://github.com/kowainik/shellmet
|
||||
|
@ -56,7 +56,7 @@ infix 5 $|
|
||||
($|) :: FilePath -> [Text] -> IO Text
|
||||
cmd $| args = T.strip . T.pack <$> readProcess cmd (map T.unpack args) ""
|
||||
|
||||
{- | Do some IO actions when processed failed with error.
|
||||
{- | Do some IO actions when process failed with 'IOError'.
|
||||
|
||||
>>> "exit" ["0"] $? putStrLn "Command failed"
|
||||
⚙ exit 0
|
||||
@ -66,5 +66,5 @@ cmd $| args = T.strip . T.pack <$> readProcess cmd (map T.unpack args) ""
|
||||
Command failed
|
||||
-}
|
||||
infixl 4 $?
|
||||
($?) :: IO () -> IO () -> IO ()
|
||||
($?) :: IO a -> IO a -> IO a
|
||||
action $? handler = action `catch` \(_ :: IOError) -> handler
|
||||
|
Loading…
Reference in New Issue
Block a user