@@ -11,13 +11,9 @@ module Development.IDE.Core.FileStore(
1111 fileStoreRules,
1212 VFSHandle,
1313 makeVFSHandle,
14− makeLSPVFSHandle,
15− getSourceFingerprint
14+ makeLSPVFSHandle
1615 ) where
1716
18−import Foreign.Ptr
19−import Foreign.ForeignPtr
20−import Fingerprint
2117import StringBuffer
2218import Development.IDE.GHC.Orphans()
2319import Development.IDE.GHC.Util
@@ -42,6 +38,7 @@ import qualified Data.Rope.UTF16 as Rope
4238import Data.Time
4339import qualified System.Directory as Dir
4440#else
41+import Foreign.Ptr
4542import Foreign.C.String
4643import Foreign.C.Types
4744import Foreign.Marshal (alloca)
@@ -90,29 +87,12 @@ makeLSPVFSHandle lspFuncs = VFSHandle
9087-- | Get the contents of a file, either dirty (if the buffer is modified) or Nothing to mean use from disk.
9188type instance RuleResult GetFileContents = (FileVersion, Maybe StringBuffer)
9289
93−type instance RuleResult FingerprintSource = Fingerprint
94−
9590data GetFileContents = GetFileContents
9691 deriving (Eq, Show, Generic)
9792instance Hashable GetFileContents
9893instance NFData GetFileContents
9994instance Binary GetFileContents
10095
101−data FingerprintSource = FingerprintSource
102− deriving (Eq, Show, Generic)
103−instance Hashable FingerprintSource
104−instance NFData FingerprintSource
105−instance Binary FingerprintSource
106−
107−fingerprintSourceRule :: Rules ()
108−fingerprintSourceRule =
109− define $ \FingerprintSource file -> do
110− (_, mbContent) <- getFileContents file
111− content <- liftIO $ maybe (hGetStringBuffer $ fromNormalizedFilePath file) pure mbContent
112− fingerprint <- liftIO $ fpStringBuffer content
113− pure ([], Just fingerprint)
114− where fpStringBuffer (StringBuffer buf len cur) = withForeignPtr buf $ \ptr -> fingerprintData (ptr `plusPtr` cur) len
115−
11696getModificationTimeRule :: VFSHandle -> Rules ()
11797getModificationTimeRule vfs =
11898 defineEarlyCutoff $ \GetModificationTime file -> do
@@ -156,9 +136,6 @@ getModificationTimeRule vfs =
156136foreign import ccall "getmodtime" c_getModTime :: CString -> Ptr CTime -> Ptr CLong -> IO Int
157137#endif
158138
159−getSourceFingerprint :: NormalizedFilePath -> Action Fingerprint
160−getSourceFingerprint = use_ FingerprintSource
161−
162139getFileContentsRule :: VFSHandle -> Rules ()
163140getFileContentsRule vfs =
164141 define $ \GetFileContents file -> do
@@ -186,7 +163,6 @@ fileStoreRules vfs = do
186163 addIdeGlobal vfs
187164 getModificationTimeRule vfs
188165 getFileContentsRule vfs
189− fingerprintSourceRule
190166
191167
192168-- | Notify the compiler service that a particular file has been modified.