Monadoro 0.3.4.0 → 0.3.5.0
raw patch · 8 files changed
+25/−48 lines, 8 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- ConsoleDisplay: display :: String -> IO ()
+ Display: display :: String -> IO ()
Files
- Monadoro.cabal +2/−3
- changelog +4/−0
- src/ConsoleDisplay.lhs +0/−18
- src/CountdownLoop.hs +2/−7
- src/Display.hs +6/−0
- src/Pomodoro.lhs +1/−6
- test/DocTests.hs +0/−13
- test/Main.hs +10/−1
Monadoro.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack name: Monadoro-version: 0.3.4.0+version: 0.3.5.0 synopsis: A minimalistic CLI Pomodoro timer. description: A Pomodoro timer with two modes: single-pomodoro (default), and four-pomodoro (`--session`). category: Tools@@ -27,8 +27,8 @@ library exposed-modules: CLI- ConsoleDisplay CountdownLoop+ Display ParseTime Pomodoro other-modules:@@ -59,7 +59,6 @@ type: exitcode-stdio-1.0 main-is: Main.hs other-modules:- DocTests Paths_Monadoro hs-source-dirs: test
changelog view
@@ -1,3 +1,7 @@+monadoro (3.5.0)++ * Improve and unify the display mechanism.+ monadoro (3.1.0) * Move library functions out of the main module.
− src/ConsoleDisplay.lhs
@@ -1,18 +0,0 @@-#!/usr/bin/env stack-> --stack --install-ghc runghc--Unified interface for displaying the remaining time on the screen.--> module ConsoleDisplay (display) where->-> import Control.Concurrent (threadDelay)->-> display :: String -> IO ()-> display s = putStr $ "\r" ++ s->-> waitASecond :: IO()-> waitASecond = threadDelay $ 10^6--> main :: IO ()-> main = do-> display "00:01" >> waitASecond >> display "00:00"
src/CountdownLoop.hs view
@@ -4,10 +4,9 @@ module CountdownLoop (countdown, countdown_loop) where import System.Environment (getArgs)-import System.IO (hFlush,- stdout) import Control.Concurrent (threadDelay) import ParseTime (count_down_time)+import Display (display) milisec_per_second :: Int milisec_per_second = 10 ^ (6 :: Int)@@ -49,14 +48,10 @@ countdown :: String -> IO (String) countdown = countdown_loop with_delay -display :: String -> IO ()-display s = putStr $ s ++ " \r"- countdown_loop :: IO() -> String -> IO (String)-countdown_loop delayer "00:00" = putStrLn "00:00" >> return "00:00"+countdown_loop delayer "00:00" = display "00:00" >> return "00:00" countdown_loop delayer s = do display s- hFlush stdout delayer (countdown_loop delayer . count_down_time) s
+ src/Display.hs view
@@ -0,0 +1,6 @@+module Display (display) where++import System.IO (hFlush, stdout)++display :: String -> IO ()+display s = putStr ("\r" ++ s) >> hFlush stdout
src/Pomodoro.lhs view
@@ -6,10 +6,9 @@ > module Pomodoro (session) where > import Control.Concurrent (threadDelay)-> import System.IO (hFlush,-> stdout) > import Data.Time.Clock.POSIX (posixSecondsToUTCTime) > import Data.Time.Format (formatTime, defaultTimeLocale)+> import Display (display) > > data Pomodoro = First | Second | Third | Fourth > deriving (Eq, Ord, Show, Read, Bounded, Enum)@@ -54,9 +53,6 @@ > let prefix = "Rest time" ++ " | " > wait_seconds delay prefix $ minutes * 60 + 1 -> display :: String -> IO ()-> display s = putStr $ s ++ " \r"- > pomodoro :: IO () -> Pomodoro -> IO () > pomodoro delay Fourth = do > pom delay Fourth@@ -72,7 +68,6 @@ > wait_seconds delay prefix 0 = display "" > wait_seconds delay prefix n = do > display $ prefix ++ (secToTimestamp (n - 1))-> hFlush stdout > delay > wait_seconds delay prefix $ n - 1
− test/DocTests.hs
@@ -1,13 +0,0 @@-module DocTests where--import Test.DocTest--main :: IO ()-main = doctest [- "-isrc",- "src/CLI.hs",- "src/ParseTime.lhs",- "src/CountdownLoop.hs",- "src/Pomodoro.lhs",- "src/ConsoleDisplay.lhs"- ]
test/Main.hs view
@@ -1,1 +1,10 @@-import DocTests+import Test.DocTest++main :: IO ()+main = doctest [+ "-isrc",+ "src/CLI.hs",+ "src/ParseTime.lhs",+ "src/CountdownLoop.hs",+ "src/Pomodoro.lhs"+ ]