lib: rename get/setIndex, add increment fn

This commit is contained in:
Simon Michael 2016-05-18 15:06:16 -07:00
parent 80e8caebe7
commit 7e84b4d643
2 changed files with 12 additions and 7 deletions

View File

@ -178,11 +178,17 @@ getAccountAliases = fmap ctxAliases getState
clearAccountAliases :: Monad m => JournalParser m ()
clearAccountAliases = modifyState (\(ctx@Ctx{..}) -> ctx{ctxAliases=[]})
getIndex :: Monad m => JournalParser m Integer
getIndex = fmap ctxTransactionIndex getState
getTransactionIndex :: Monad m => JournalParser m Integer
getTransactionIndex = fmap ctxTransactionIndex getState
setIndex :: Monad m => Integer -> JournalParser m ()
setIndex i = modifyState (\ctx -> ctx{ctxTransactionIndex=i})
setTransactionIndex :: Monad m => Integer -> JournalParser m ()
setTransactionIndex i = modifyState (\ctx -> ctx{ctxTransactionIndex=i})
-- | Increment the transaction index by one and return the new value.
incrementTransactionIndex :: Monad m => JournalParser m Integer
incrementTransactionIndex = do
modifyState (\ctx -> ctx{ctxTransactionIndex=ctxTransactionIndex ctx + 1})
getTransactionIndex
journalAddFile :: (FilePath,String) -> Journal -> Journal
journalAddFile f j@Journal{files=fs} = j{files=fs++[f]}

View File

@ -416,9 +416,8 @@ transactionp = do
comment <- try followingcommentp <|> (newline >> return "")
let tags = commentTags comment
postings <- postingsp (Just date)
i' <- (+1) <$> getIndex
setIndex i'
return $ txnTieKnot $ Transaction i' sourcepos date edate status code description comment tags postings ""
idx <- incrementTransactionIndex
return $ txnTieKnot $ Transaction idx sourcepos date edate status code description comment tags postings ""
#ifdef TESTS
test_transactionp = do