From f52312b7310afffda5f159aa17d949fefb573a57 Mon Sep 17 00:00:00 2001 From: "Yann Esposito (Yogsototh)" Date: Tue, 4 Sep 2018 09:27:51 +0200 Subject: [PATCH] pass original branch to gpm command handlers --- src/GPM/Helpers.hs | 4 ++-- src/GPM/Issue.hs | 12 ++++++------ src/GPM/Review.hs | 14 +++++++------- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/GPM/Helpers.hs b/src/GPM/Helpers.hs index 0d253bd..39d98ea 100644 --- a/src/GPM/Helpers.hs +++ b/src/GPM/Helpers.hs @@ -34,8 +34,8 @@ getGitUser = debug "git config user.name" -- | Ensure actions occurs in the @gpm@ branch -- and returns to current branch with also all untracked files -inGPM :: IO a -> IO a -inGPM actions = bracket safeChangeBranch safeReturnBranch (const actions) +inGPM :: (Text -> IO a) -> IO a +inGPM = bracket safeChangeBranch safeReturnBranch where safeChangeBranch = do res <- getCurrentGitBranch diff --git a/src/GPM/Issue.hs b/src/GPM/Issue.hs index 73f98d2..dee2b50 100644 --- a/src/GPM/Issue.hs +++ b/src/GPM/Issue.hs @@ -112,9 +112,9 @@ createTmpNewIssue ni = do die "Parse ERROR, check your template ./templates/new-issue.org" Right compiled -> writeFile ".issues.org.tmp" (substitute compiled ni) -handleNewIssue :: IssueOptions -> IO () -handleNewIssue opts = do - newIssueTmp <- gatherNewIssueInfos (newIssue opts) +handleNewIssue :: IssueOptions -> Text -> IO () +handleNewIssue opts br = do + newIssueTmp <- gatherNewIssueInfos (newIssue opts) br newIssue <- if interactive opts then interactiveNewIssue newIssueTmp else return newIssueTmp @@ -158,13 +158,13 @@ validTmpNewIssue = do tmpIssue <- readFile ".issues.org.tmp" appendFile "issues.org" ("\n\n" <> tmpIssue) -gatherNewIssueInfos :: NewIssue -> IO NewIssue -gatherNewIssueInfos iss = do +gatherNewIssueInfos :: NewIssue -> Text -> IO NewIssue +gatherNewIssueInfos iss br = do user <- if isNothing (user iss) then getGitUser else return (user iss) branch <- if isNothing (branch iss) - then getCurrentGitBranch + then return (Just br) else return (branch iss) return $ iss { user = user , branch = branch } diff --git a/src/GPM/Review.hs b/src/GPM/Review.hs index 518b26b..c0d8458 100644 --- a/src/GPM/Review.hs +++ b/src/GPM/Review.hs @@ -47,10 +47,10 @@ parseReviewCmd = <|> subcommand "question" "Ask a question" (pure ReviewQuestion) <|> subcommand "reject" "Reject the merge" (pure ReviewReject) -handleReview :: ReviewCommand -> IO () -handleReview (ReviewStart _br) = die "TODO" -handleReview (ReviewStop _br ) = die "TODO" -handleReview ReviewAccept = die "TODO" -handleReview ReviewFeedback = die "TODO" -handleReview ReviewQuestion = die "TODO" -handleReview ReviewReject = die "TODO" +handleReview :: ReviewCommand -> Text -> IO () +handleReview (ReviewStart _br) _ = die "TODO" +handleReview (ReviewStop _br ) _ = die "TODO" +handleReview ReviewAccept _ = die "TODO" +handleReview ReviewFeedback _ = die "TODO" +handleReview ReviewQuestion _ = die "TODO" +handleReview ReviewReject _ = die "TODO"