Skip to content

Commit 167e556

Browse files
authored
Use T.decodeUtf8 + BS.readFile instead of T.readFile (#2637)
1 parent 65dff92 commit 167e556

File tree

4 files changed

+8
-6
lines changed

4 files changed

+8
-6
lines changed

Diff for: ghcide/src/Development/IDE/Core/Rules.hs

+1-2
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,6 @@ import Data.Maybe
9191
import qualified Data.Rope.UTF16 as Rope
9292
import qualified Data.Set as Set
9393
import qualified Data.Text as T
94-
import qualified Data.Text.IO as T
9594
import qualified Data.Text.Encoding as T
9695
import Data.Time (UTCTime (..))
9796
import Data.Tuple.Extra
@@ -528,7 +527,7 @@ persistentHieFileRule = addPersistentRule GetHieAst $ \file -> runMaybeT $ do
528527
(currentSource,ver) <- liftIO $ do
529528
mvf <- getVirtualFile vfs $ filePathToUri' file
530529
case mvf of
531-
Nothing -> (,Nothing) <$> T.readFile (fromNormalizedFilePath file)
530+
Nothing -> (,Nothing) . T.decodeUtf8 <$> BS.readFile (fromNormalizedFilePath file)
532531
Just vf -> pure (Rope.toText $ _text vf, Just $ _lsp_version vf)
533532
let refmap = Compat.generateReferencesMap . Compat.getAsts . Compat.hie_asts $ res
534533
del = deltaFromDiff (T.decodeUtf8 $ Compat.hie_hs_src res) currentSource

Diff for: plugins/hls-hlint-plugin/src/Ide/Plugin/Hlint.hs

+3-2
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,13 @@ import Control.Monad.Trans.Except
3838
import Data.Aeson.Types (FromJSON (..),
3939
ToJSON (..),
4040
Value (..))
41+
import qualified Data.ByteString as BS
4142
import Data.Default
4243
import qualified Data.HashMap.Strict as Map
4344
import Data.Hashable
4445
import Data.Maybe
4546
import qualified Data.Text as T
46-
import qualified Data.Text.IO as T
47+
import qualified Data.Text.Encoding as T
4748
import Data.Typeable
4849
import Development.IDE hiding
4950
(Error)
@@ -509,7 +510,7 @@ applyHint ide nfp mhint =
509510
liftIO $ logm $ "applyHint:apply=" ++ show commands
510511
let fp = fromNormalizedFilePath nfp
511512
(_, mbOldContent) <- liftIO $ runAction' $ getFileContents nfp
512-
oldContent <- maybe (liftIO $ T.readFile fp) return mbOldContent
513+
oldContent <- maybe (liftIO $ fmap T.decodeUtf8 $ BS.readFile fp) return mbOldContent
513514
modsum <- liftIO $ runAction' $ use_ GetModSummary nfp
514515
let dflags = ms_hspp_opts $ msrModSummary modsum
515516
-- Setting a environment variable with the libdir used by ghc-exactprint.

Diff for: plugins/hls-retrie-plugin/hls-retrie-plugin.cabal

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ library
1818
build-depends:
1919
, aeson
2020
, base >=4.12 && <5
21+
, bytestring
2122
, containers
2223
, deepseq
2324
, directory

Diff for: plugins/hls-retrie-plugin/src/Ide/Plugin/Retrie.hs

+3-2
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import Data.Aeson (FromJSON (..),
3232
Value (Null),
3333
genericParseJSON)
3434
import qualified Data.Aeson as Aeson
35+
import qualified Data.ByteString as BS
3536
import Data.Bifunctor (Bifunctor (first),
3637
second)
3738
import Data.Coerce
@@ -44,7 +45,7 @@ import Data.IORef.Extra (atomicModifyIORef'_,
4445
import Data.List.Extra (find, nubOrdOn)
4546
import Data.String (IsString (fromString))
4647
import qualified Data.Text as T
47-
import qualified Data.Text.IO as T
48+
import qualified Data.Text.Encoding as T
4849
import Data.Typeable (Typeable)
4950
import Development.IDE hiding (pluginHandlers)
5051
import Development.IDE.Core.PositionMapping
@@ -385,7 +386,7 @@ callRetrie state session rewrites origin restrictToOriginatingFile = do
385386
runAction "Retrie.GetFileContents" state $ getFileContents nt
386387
case mbContentsVFS of
387388
Just contents -> return contents
388-
Nothing -> T.readFile (fromNormalizedFilePath nt)
389+
Nothing -> T.decodeUtf8 <$> BS.readFile (fromNormalizedFilePath nt)
389390
if any (T.isPrefixOf "#if" . T.toLower) (T.lines contents)
390391
then do
391392
fixitiesRef <- newIORef mempty

0 commit comments

Comments
 (0)