22 lines
		
	
	
	
		
			486 B
		
	
	
	
		
			Haskell
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
	
		
			486 B
		
	
	
	
		
			Haskell
		
	
	
	
	
	
| module Main where
 | |
| 
 | |
| import qualified Data.List as L
 | |
| 
 | |
| (|>) :: a -> (a -> b) -> b
 | |
| x |> f = f x
 | |
| 
 | |
| -- | Ignore items with zero quantity (i.e. "0x") and comments (i.e. "#")
 | |
| isUndesirableOutput :: String -> Bool
 | |
| isUndesirableOutput x =
 | |
|   (L.isPrefixOf "- 0x" x) || (L.isPrefixOf "#" x)
 | |
| 
 | |
| -- | Run this to export the grocery list.
 | |
| main :: IO ()
 | |
| main = do
 | |
|   content <- readFile "./list.org"
 | |
|   content
 | |
|     |> lines
 | |
|     |> filter (not . isUndesirableOutput)
 | |
|     |> unlines
 | |
|     |> putStrLn
 | |
|   pure ()
 |