module GHC.Util.LanguageExtensions.Type (
    readExtension
) where

import GHC.LanguageExtensions.Type

import qualified Data.Map.Strict as Map

-- | Parse a GHC extension
readExtension :: String -> Maybe Extension
readExtension :: String -> Maybe Extension
readExtension x :: String
x = String -> Map String Extension -> Maybe Extension
forall k a. Ord k => k -> Map k a -> Maybe a
Map.lookup String
x Map String Extension
exts
  where exts :: Map String Extension
exts = [(String, Extension)] -> Map String Extension
forall k a. Ord k => [(k, a)] -> Map k a
Map.fromList [(Extension -> String
forall a. Show a => a -> String
show Extension
x, Extension
x) | Extension
x <- [Extension
Cpp .. Extension
StarIsType]]