module Todos.CommandParser where
import Todos.Unicode
import Todos.Types
printfItem ∷ String
→ TodoItem
→ String
printfItem pattern item = printf pattern
where
printf "" = ""
printf [x] = [x]
printf ('%':c:xs) = (itemPart c) ⧺ printf xs
printf (x:xs) = x:printf xs
itemPart 'L' = show $ itemLevel item
itemPart 'n' = itemName item
itemPart 't' = unwords $ itemTags item
itemPart 's' = itemStatus item
itemPart 'd' = itemDescr item
itemPart 'f' = fileName item
itemPart 'l' = show $ lineNr item
itemPart x = [x]