diff options
author | Ben Sima <ben@bsima.me> | 2020-11-28 09:25:14 -0500 |
---|---|---|
committer | Ben Sima <ben@bsima.me> | 2020-11-28 09:25:14 -0500 |
commit | 27e609910cbf61f792b857181b60d42ca8fdf9be (patch) | |
tree | d2a08243c4ce1806ba686681c704adc89a3caf16 | |
parent | 0a94c71a57741faa6763ff6c192dd0cccb37e11b (diff) |
Ormolu formatting
-rw-r--r-- | Biz/Pie.hs | 48 |
1 files changed, 26 insertions, 22 deletions
@@ -103,11 +103,13 @@ formFile :: String -> FilePath formFile ns = ns ++ ".pie" loadForm :: Namespace -> IO Form -loadForm ns = Directory.doesFileExist file >>= \case - False -> touch file >> return mempty - True -> Aeson.decodeFileStrict file >>= \case - Nothing -> panic <| Text.pack <| "could not decode: " ++ file - Just x -> return x +loadForm ns = + Directory.doesFileExist file >>= \case + False -> touch file >> return mempty + True -> + Aeson.decodeFileStrict file >>= \case + Nothing -> panic <| Text.pack <| "could not decode: " ++ file + Just x -> return x where file = formFile ns touch f = writeFile f "" @@ -132,23 +134,25 @@ move mov form = case mov of Exit.ExitFailure _ -> Process.callProcess "git" ["switch", "-c", branch] >> return form - Update -> Haskeline.runInputT Haskeline.defaultSettings <| do - timestamp <- liftIO Clock.getCurrentTime - onTrack <- parseBool </ question "Are you on track?" - isLaunched <- parseBool </ question "Are you launched?" - weeksUntilLaunch <- parseInt </ question "How many weeks to launch?" - usersTalkedWith <- parseInt </ question "Haw many (prospective) users have you talked to in the last week?" - learnings <- parseText </ question "What have you learned from them?" - morale <- parseInt </ question "On a scale of 1-10, what is your morale?" - mostImprovement <- parseText </ question "What most improved your primary metric?" - biggestObstacle <- parseText </ question "What is your biggest obstacle?" - goals <- parseText </ question "What are your top 1-3 goals for next week?" - return <| form {roll = BuildSprint {..} : (roll form)} - Feedback -> Haskeline.runInputT Haskeline.defaultSettings <| do - timestamp <- liftIO Clock.getCurrentTime - user <- parseText </ question "User?" - howDisappointed <- parseDisappointment </ question "How disappointed? (1=very, 2=somewhat, 3=not)" - return <| form {roll = UserFeedback {..} : (roll form)} + Update -> + Haskeline.runInputT Haskeline.defaultSettings <| do + timestamp <- liftIO Clock.getCurrentTime + onTrack <- parseBool </ question "Are you on track?" + isLaunched <- parseBool </ question "Are you launched?" + weeksUntilLaunch <- parseInt </ question "How many weeks to launch?" + usersTalkedWith <- parseInt </ question "Haw many (prospective) users have you talked to in the last week?" + learnings <- parseText </ question "What have you learned from them?" + morale <- parseInt </ question "On a scale of 1-10, what is your morale?" + mostImprovement <- parseText </ question "What most improved your primary metric?" + biggestObstacle <- parseText </ question "What is your biggest obstacle?" + goals <- parseText </ question "What are your top 1-3 goals for next week?" + return <| form {roll = BuildSprint {..} : (roll form)} + Feedback -> + Haskeline.runInputT Haskeline.defaultSettings <| do + timestamp <- liftIO Clock.getCurrentTime + user <- parseText </ question "User?" + howDisappointed <- parseDisappointment </ question "How disappointed? (1=very, 2=somewhat, 3=not)" + return <| form {roll = UserFeedback {..} : (roll form)} question :: String -> Haskeline.InputT IO String question q = Maybe.fromJust </ (Haskeline.getInputLine <| q ++ " ") |