diff --git a/src/Main.hs b/src/Main.hs index a040179..0d0e9aa 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -17,7 +17,7 @@ module Main (main) where import Data.List (isPrefixOf, partition) import Data.Vector(Vector, fromList) import Language.Haskell.Exts.Annotated (parseFileContentsWithMode, ParseMode(..), knownExtensions, ParseResult(ParseOk, ParseFailed)) -import Language.Haskell.Exts.Extension (Language(..)) +import Language.Haskell.Exts.Extension (Language(..), Extension(EnableExtension)) import System.Environment (getArgs, getProgName) import System.IO (hPutStrLn, stderr) import qualified Data.Text as T (unpack, lines, pack, unlines) @@ -55,12 +55,14 @@ processFile file ignore_parse_error = do parseMode = ParseMode { parseFilename = file , baseLanguage = Haskell2010 - , extensions = knownExtensions + , extensions = filter isEnabled knownExtensions , ignoreLanguagePragmas = False , ignoreLinePragmas = True , fixities = Nothing , ignoreFunctionArity = False } + isEnabled (EnableExtension _) = True + isEnabled _ = False loadFile :: FilePath -> IO (String, Vector String) loadFile file = do