Monadoro 0.2.1.5 → 0.2.1.8
raw patch · 6 files changed
+115/−15 lines, 6 filesdep +processPVP: minor bump suggested
API additions: PVP suggests at least a minor version bump
Dependencies added: process
API changes (from Hackage documentation)
+ Version: my_version :: FilePath -> IO String
Files
- Monadoro.cabal +8/−3
- changelog +4/−0
- man/monadoro.1 +26/−0
- src/ArgParse.hs +12/−11
- src/Version.hs +64/−0
- test/Spec.hs +1/−1
Monadoro.cabal view
@@ -1,13 +1,13 @@ cabal-version: 1.12 --- This file has been generated from package.yaml by hpack version 0.31.1.+-- This file has been generated from package.yaml by hpack version 0.31.2. -- -- see: https://github.com/sol/hpack ----- hash: ca52c8268fc175937ee9cd55876a4df6c2cf90cf7eb480cea459810d25a2072f+-- hash: 7767f6c6d2d1be6dce43bee7340e0b209922655948aa448f3a4c1a3c97a15bdd name: Monadoro-version: 0.2.1.5+version: 0.2.1.8 synopsis: A minimalistic CLI Pomodoro timer. description: A Pomodoro timer with two modes: single-pomodoro (default), and four-pomodoro (`--session`). category: Tools@@ -20,6 +20,7 @@ extra-source-files: README.md changelog+ man/monadoro.1 source-repository head type: git@@ -31,6 +32,7 @@ Clock Pomodoro Timer+ Version other-modules: Paths_Monadoro hs-source-dirs:@@ -38,6 +40,7 @@ build-depends: ansi-terminal >=0.8 && <1 , base >=4.7 && <5+ , process >=1.0 && <2 , time >=1.8 && <2 default-language: Haskell2010 @@ -52,6 +55,7 @@ Monadoro , ansi-terminal >=0.8 && <1 , base >=4.7 && <5+ , process >=1.0 && <2 , time >=1.8 && <2 default-language: Haskell2010 @@ -68,5 +72,6 @@ , ansi-terminal >=0.8 && <1 , base >=4.7 && <5 , doctest >=0.8+ , process >=1.0 && <2 , time >=1.8 && <2 default-language: Haskell2010
changelog view
@@ -1,3 +1,7 @@+monadoro (2.1.6)++ * Bump version using a script.+ monadoro (2.1.5) * Fix a spelling error in README.
+ man/monadoro.1 view
@@ -0,0 +1,26 @@+.\" Automatically generated by Pandoc 2.5+.\"+.TH "MONADORO" "1" "September 2019" "" ""+.hy+.SH NAME+.PP+monadoro \[en] count a 25\-minute Pomodoro+.SH SYNOPSIS+.PP+\f[B]monadoro\f[R] [\f[B]\-h\f[R]] [\f[B]\f[CB]\-\-session\f[B]\f[R]]+.SH DESCRIPTION+.PP+\f[B]monadoro\f[R] is a simple tool which serves as a Pomodoro timer.+It has two modes of operation: single\-pomodoro (default), and a+4\-pomodoro session.+It helps you concentrate on your goal while not losing track of your+surroundings.+.SH GENERAL OPTIONS+.TP+.B \f[B]\-h\f[R]+Display a friendly help message.+.TP+.B \f[B]\f[CB]\-\-session\f[B]\f[R]+Start a 4\-pomodoro session.+.SH AUTHORS+Patryk Kocielnik.
src/ArgParse.hs view
@@ -10,18 +10,19 @@ import System.Exit import Pomodoro (worker) import Clock (countdown)--main = parse_args+import Version (my_version) -parse_args = getArgs >>= parse+usage = putStrLn "Usage: monadoro [-vh] [--session]"+version = my_version "package.yaml" >>= putStrLn :: IO ()+exit = exitWith ExitSuccess+warn = putStrLn "Invalid argument." >> usage >> exitWith (ExitFailure 1) -parse ["-h"] = usage >> exit-parse ["-v"] = version >> exit+parse ["-h"] = usage >> exit+parse ["-v"] = version >> exit parse ["--session"] = worker-parse [] = countdown-parse _ = putStrLn "Invalid argument." >> usage >> exit+parse [] = countdown+parse _ = warn -usage = putStrLn "Usage: monadoro [-vh] [--session]"-version = putStrLn "Monadoro 2.1.2"-exit = exitWith ExitSuccess-die = exitWith (ExitFailure 1)+parse_args = getArgs >>= parse++main = parse_args
+ src/Version.hs view
@@ -0,0 +1,64 @@+#!/usr/bin/env stack+--stack --install-ghc runghc++module Version (my_version)+ where++import System.Environment+import System.Exit+import System.Process++-- | Read current package version+--+-- Example:+--+-- >>> putStrLn $ my_version+-- 0.2.1.7+--++--my_version :: IO ([Char])+--my_version = do+-- let stdin' = ""+-- (errCode, stdout', stderr') <- readProcessWithExitCode "./get_version" [""] stdin'+-- return stdout'+--+--my_version' :: IO ()+--my_version' = putStr $ my_version+-- get_version = my_version+-- +-- show_all = map putStr+-- +-- exit = exitWith ExitSuccess+-- +-- all_file = my_version >>= putStr++--main = my_version >>= lines >>= unlines >>= putStr+--main = show_all $ get_version+-- putStrLn . show $ (!!) a 1+-- See http://learnyouahaskell.com/input-and-output++--my_version :: IO String+--my_version = readFile "package.yaml"+--+--firstLine :: String -> String+--firstLine = head . lines+--+--first_line_of_file = firstLine $ my_version++-- Worked!+--my_version = do+-- contents <- readFile "package.yaml"+-- let version_line = lines contents !! 1+-- let version_word = words version_line !! 1+-- return version_word++my_version :: FilePath -> IO String+my_version file_name = do+ contents <- readFile file_name+ let version_line = lines contents !! 1+ let version_word = words version_line !! 1+ return version_word++main :: IO ()+main = my_version "package.yaml" >>= putStrLn :: IO ()+
test/Spec.hs view
@@ -1,4 +1,4 @@ import Test.DocTest main :: IO ()-main = doctest ["-isrc", "src/Pomodoro.lhs", "src/Clock.lhs", "src/Timer.hs"]+main = doctest ["-isrc", "src/Pomodoro.lhs", "src/Clock.lhs", "src/Timer.hs", "src/Version.hs"]