module Web.RBB.Types.FileType
where
import Data.Data (Data, Typeable)
import Data.Map (Map)
import qualified Data.Map as Map
import System.FilePath (takeExtensions)
data FileType = PandocMarkdown | LiterateHaskell
deriving (Eq, Ord, Show, Read, Enum, Data, Typeable, Bounded)
fileTypeMap :: Map FilePath FileType
fileTypeMap = Map.fromList
[ (".md", PandocMarkdown)
, (".lhs", LiterateHaskell)
]
fileTypeFromExtension :: FilePath -> Maybe FileType
fileTypeFromExtension ext = Map.lookup (takeExtensions ext) fileTypeMap