From d56fca1ba2b8a78e70b0252d59d464ef4f51b443 Mon Sep 17 00:00:00 2001 From: Alex Chen Date: Thu, 24 May 2018 20:34:00 -0600 Subject: [PATCH] lib: superficial parser cleanups --- hledger-lib/Hledger/Read/Common.hs | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/hledger-lib/Hledger/Read/Common.hs b/hledger-lib/Hledger/Read/Common.hs index 59249aeaa..2a15fe7aa 100644 --- a/hledger-lib/Hledger/Read/Common.hs +++ b/hledger-lib/Hledger/Read/Common.hs @@ -603,7 +603,8 @@ nosymbolamountp = do "no-symbol amount" commoditysymbolp :: TextParser m CommoditySymbol -commoditysymbolp = (quotedcommoditysymbolp <|> simplecommoditysymbolp) "commodity symbol" +commoditysymbolp = + quotedcommoditysymbolp <|> simplecommoditysymbolp "commodity symbol" quotedcommoditysymbolp :: TextParser m CommoditySymbol quotedcommoditysymbolp = @@ -617,11 +618,7 @@ priceamountp :: Monad m => JournalParser m Price priceamountp = option NoPrice $ try $ do lift (skipMany spacenonewline) char '@' - - m <- optional $ char '@' - let priceConstructor = case m of - Just _ -> TotalPrice - Nothing -> UnitPrice + priceConstructor <- char '@' *> pure TotalPrice <|> pure UnitPrice lift (skipMany spacenonewline) priceAmount <- amountwithoutpricep @@ -688,12 +685,7 @@ numberp suggestedStyle = do "numberp" exponentp :: TextParser m Int -exponentp = do - char' 'e' - sign <- signp - d <- decimal - pure $ sign d - "exponentp" +exponentp = char' 'e' *> signp <*> decimal "exponentp" -- | Interpret a raw number as a decimal number. --