@@ -33,12 +33,13 @@ import Prelude.Compat
34import Control.Monad.Error.Class
34import Control.Monad.Error.Class
35import Control.Monad.IO.Class
35import Control.Monad.IO.Class
36+import Data.Aeson (decodeStrict)
36import Data.List (nub)
37import Data.List (nub)
37import Data.Maybe (mapMaybe)
38import Data.Maybe (mapMaybe)
38import Data.Monoid
39import Data.Monoid
39import Data.Text (Text)
40import Data.Text (Text)
40import qualified Data.Text as T
41import qualified Data.Text as T
41−import qualified Data.Text.IO as T
42+import qualified Data.ByteString as BS
42import Language.PureScript.Ide.Error (PscIdeError (..))
43import Language.PureScript.Ide.Error (PscIdeError (..))
43import Language.PureScript.Ide.Types
44import Language.PureScript.Ide.Types
44import Language.PureScript.Ide.Util
45import Language.PureScript.Ide.Util
@@ -49,7 +50,7 @@ import qualified Language.PureScript.Externs as PE
49readExternFile :: (MonadIO m, MonadError PscIdeError m) =>
50readExternFile :: (MonadIO m, MonadError PscIdeError m) =>
50 FilePath -> m PE.ExternsFile
51 FilePath -> m PE.ExternsFile
51readExternFile fp = do
52readExternFile fp = do
52− parseResult <- liftIO (decodeT <$> T.readFile fp)
53+ parseResult <- liftIO (decodeStrict <$> BS.readFile fp)
53 case parseResult of
54 case parseResult of
54 Nothing -> throwError . GeneralError $ "Parsing the extern at: " ++ fp ++ " failed"
55 Nothing -> throwError . GeneralError $ "Parsing the extern at: " ++ fp ++ " failed"
55 Just externs -> pure externs
56 Just externs -> pure externs