diff --git a/cabal.project b/cabal.project index 9577b08cea..4d956fc5bd 100644 --- a/cabal.project +++ b/cabal.project @@ -20,6 +20,6 @@ package ghcide write-ghc-environment-files: never -index-state: 2020-08-07T11:45:57Z +index-state: 2020-09-09T00:00:00Z allow-newer: data-tree-print:base diff --git a/ghcide b/ghcide index 96cf8c53d0..008d4db3ff 160000 --- a/ghcide +++ b/ghcide @@ -1 +1 @@ -Subproject commit 96cf8c53d0bdc16d3d2cd0559b74962593ce6dc5 +Subproject commit 008d4db3ff3a8a3635bf3ac709d0df593f456d0a diff --git a/hls-plugin-api/src/Ide/Plugin/GhcIde.hs b/hls-plugin-api/src/Ide/Plugin/GhcIde.hs index 608bc063d0..9690c0a889 100644 --- a/hls-plugin-api/src/Ide/Plugin/GhcIde.hs +++ b/hls-plugin-api/src/Ide/Plugin/GhcIde.hs @@ -39,7 +39,7 @@ hover' ideState params = do commandAddSignature :: CommandFunction WorkspaceEdit commandAddSignature lf ide params - = executeAddSignatureCommand lf ide (ExecuteCommandParams "typesignature.add" (Just (List [toJSON params])) Nothing) + = commandHandler lf ide (ExecuteCommandParams "typesignature.add" (Just (List [toJSON params])) Nothing) -- --------------------------------------------------------------------- diff --git a/plugins/default/src/Ide/Plugin/Example.hs b/plugins/default/src/Ide/Plugin/Example.hs index 864d67005c..612e85bc1b 100644 --- a/plugins/default/src/Ide/Plugin/Example.hs +++ b/plugins/default/src/Ide/Plugin/Example.hs @@ -19,7 +19,6 @@ import Data.Aeson import Data.Binary import Data.Functor import qualified Data.HashMap.Strict as Map -import qualified Data.HashSet as HashSet import Data.Hashable import qualified Data.Text as T import Data.Typeable @@ -76,7 +75,7 @@ exampleRules = do action $ do files <- getFilesOfInterest - void $ uses Example $ HashSet.toList files + void $ uses Example $ Map.keys files mkDiag :: NormalizedFilePath -> DiagnosticSource diff --git a/plugins/default/src/Ide/Plugin/Example2.hs b/plugins/default/src/Ide/Plugin/Example2.hs index ec4863bef3..9ddc51de76 100644 --- a/plugins/default/src/Ide/Plugin/Example2.hs +++ b/plugins/default/src/Ide/Plugin/Example2.hs @@ -19,7 +19,6 @@ import Data.Aeson import Data.Binary import Data.Functor import qualified Data.HashMap.Strict as Map -import qualified Data.HashSet as HashSet import Data.Hashable import qualified Data.Text as T import Data.Typeable @@ -75,7 +74,7 @@ exampleRules = do action $ do files <- getFilesOfInterest - void $ uses Example2 $ HashSet.toList files + void $ uses Example2 $ Map.keys files mkDiag :: NormalizedFilePath -> DiagnosticSource diff --git a/plugins/default/src/Ide/Plugin/ImportLens.hs b/plugins/default/src/Ide/Plugin/ImportLens.hs index 5f2da4d98f..efaaee4c78 100644 --- a/plugins/default/src/Ide/Plugin/ImportLens.hs +++ b/plugins/default/src/Ide/Plugin/ImportLens.hs @@ -25,7 +25,6 @@ import qualified Data.Map.Strict as Map import Data.Maybe (catMaybes, fromMaybe) import qualified Data.Text as T import Development.IDE -import Development.IDE.Core.Shake (useWithStale) import Development.IDE.GHC.Compat import GHC.Generics (Generic) import Ide.Plugin diff --git a/plugins/default/src/Ide/Plugin/Retrie.hs b/plugins/default/src/Ide/Plugin/Retrie.hs index c66b37c377..6b4b7b3a32 100644 --- a/plugins/default/src/Ide/Plugin/Retrie.hs +++ b/plugins/default/src/Ide/Plugin/Retrie.hs @@ -41,7 +41,7 @@ import qualified Data.Text as T import qualified Data.Text.IO as T import Data.Typeable (Typeable) import Development.IDE -import Development.IDE.Core.Shake (ShakeExtras(knownFilesVar)) +import Development.IDE.Core.Shake (toKnownFiles, ShakeExtras(knownTargetsVar)) import Development.IDE.GHC.Compat (GenLocated (L), GhcRn, HsBindLR (FunBind), HsGroup (..), @@ -334,7 +334,7 @@ callRetrie :: Bool -> IO ([CallRetrieError], WorkspaceEdit) callRetrie state session rewrites origin restrictToOriginatingFile = do - knownFiles <- readVar $ knownFilesVar $ shakeExtras state + knownFiles <- toKnownFiles . unhashed <$> readVar (knownTargetsVar $ shakeExtras state) print knownFiles let reuseParsedModule f = do pm <- @@ -387,7 +387,7 @@ callRetrie state session rewrites origin restrictToOriginatingFile = do ,Retrie.targetFiles = map fromNormalizedFilePath $ if restrictToOriginatingFile then [origin] - else Set.toList $ unhashed knownFiles + else Set.toList knownFiles } (theImports, theRewrites) = partitionEithers rewrites diff --git a/src/Ide/Main.hs b/src/Ide/Main.hs index 4364fd757c..6feef3702e 100644 --- a/src/Ide/Main.hs +++ b/src/Ide/Main.hs @@ -18,9 +18,9 @@ module Ide.Main(defaultMain, runLspMode) where import Control.Concurrent.Extra import Control.Monad.Extra import Data.Default -import qualified Data.HashSet as HashSet import Data.List.Extra import qualified Data.Map.Strict as Map +import qualified Data.HashMap.Strict as HashMap import Data.Maybe import qualified Data.Text as T import qualified Data.Text.IO as T @@ -170,7 +170,7 @@ runLspMode lspArgs@LspArguments{..} idePlugins = do ide <- initialise def mainRule (pure $ IdInt 0) (showEvent lock) dummyWithProg (const (const id)) (logger Info) debouncer (defaultIdeOptions sessionLoader) vfs putStrLn "\nStep 4/4: Type checking the files" - setFilesOfInterest ide $ HashSet.fromList $ map toNormalizedFilePath' files + setFilesOfInterest ide $ HashMap.fromList $ map ((, OnDisk) . toNormalizedFilePath') files results <- runAction "User TypeCheck" ide $ uses TypeCheck (map toNormalizedFilePath' files) let (worked, failed) = partition fst $ zip (map isJust results) files when (failed /= []) $ diff --git a/stack-8.6.4.yaml b/stack-8.6.4.yaml index 2cc17eaec7..33c7463533 100644 --- a/stack-8.6.4.yaml +++ b/stack-8.6.4.yaml @@ -32,12 +32,12 @@ extra-deps: - haddock-library-1.8.0 - haskell-lsp-0.22.0.0 - haskell-lsp-types-0.22.0.0 -- hie-bios-0.6.1 +- hie-bios-0.7.1 - HsYAML-0.2.1.0@rev:1 - HsYAML-aeson-0.2.0.0@rev:2 - indexed-profunctors-0.1 - lens-4.18 -- lsp-test-0.11.0.4 +- lsp-test-0.11.0.5 - monad-dijkstra-0.1.1.2 - opentelemetry-0.4.2 - optics-core-0.2 diff --git a/stack-8.6.5.yaml b/stack-8.6.5.yaml index c54455901a..0a3e7dd963 100644 --- a/stack-8.6.5.yaml +++ b/stack-8.6.5.yaml @@ -31,12 +31,12 @@ extra-deps: - haddock-library-1.8.0 - haskell-lsp-0.22.0.0 - haskell-lsp-types-0.22.0.0 -- hie-bios-0.6.1 +- hie-bios-0.7.1 - HsYAML-0.2.1.0@rev:1 - HsYAML-aeson-0.2.0.0@rev:2 - indexed-profunctors-0.1 - lens-4.18 -- lsp-test-0.11.0.4 +- lsp-test-0.11.0.5 - monad-dijkstra-0.1.1.2 - opentelemetry-0.4.2 - optics-core-0.2 diff --git a/stack-8.8.2.yaml b/stack-8.8.2.yaml index 6d4016291f..b6f531b938 100644 --- a/stack-8.8.2.yaml +++ b/stack-8.8.2.yaml @@ -28,14 +28,14 @@ extra-deps: - haskell-lsp-0.22.0.0 - haskell-lsp-types-0.22.0.0 - haskell-src-exts-1.21.1 -- hie-bios-0.6.1 +- hie-bios-0.7.1 - hlint-2.2.8 - hoogle-5.0.17.11 - hsimport-0.11.0 - HsYAML-0.2.1.0@rev:1 - HsYAML-aeson-0.2.0.0@rev:2 - ilist-0.3.1.0 -- lsp-test-0.11.0.4 +- lsp-test-0.11.0.5 - monad-dijkstra-0.1.1.2 - opentelemetry-0.4.2 - ormolu-0.1.2.0 diff --git a/stack-8.8.3.yaml b/stack-8.8.3.yaml index 71878ec4bc..ffff979c59 100644 --- a/stack-8.8.3.yaml +++ b/stack-8.8.3.yaml @@ -22,13 +22,13 @@ extra-deps: - fourmolu-0.1.0.0@rev:1 # - ghcide-0.1.0 - haskell-src-exts-1.21.1 -- hie-bios-0.6.1 +- hie-bios-0.7.1 - hlint-2.2.8 - HsYAML-aeson-0.2.0.0@rev:2 - hoogle-5.0.17.11 - hsimport-0.11.0 - ilist-0.3.1.0 -- lsp-test-0.11.0.4 +- lsp-test-0.11.0.5 - monad-dijkstra-0.1.1.2 - retrie-0.1.1.1 - semigroups-0.18.5 diff --git a/stack-8.8.4.yaml b/stack-8.8.4.yaml index 9b0522a21a..9234ceaeb9 100644 --- a/stack-8.8.4.yaml +++ b/stack-8.8.4.yaml @@ -24,13 +24,13 @@ extra-deps: - fourmolu-0.1.0.0@rev:1 # - ghcide-0.1.0 - haskell-src-exts-1.21.1 -- hie-bios-0.6.1 +- hie-bios-0.7.1 - hlint-2.2.8 - HsYAML-aeson-0.2.0.0@rev:2 - hoogle-5.0.17.11 - hsimport-0.11.0 - ilist-0.3.1.0 -- lsp-test-0.11.0.4 +- lsp-test-0.11.0.5 - monad-dijkstra-0.1.1.2 - retrie-0.1.1.1 - semigroups-0.18.5 diff --git a/stack.yaml b/stack.yaml index c54455901a..0a3e7dd963 100644 --- a/stack.yaml +++ b/stack.yaml @@ -31,12 +31,12 @@ extra-deps: - haddock-library-1.8.0 - haskell-lsp-0.22.0.0 - haskell-lsp-types-0.22.0.0 -- hie-bios-0.6.1 +- hie-bios-0.7.1 - HsYAML-0.2.1.0@rev:1 - HsYAML-aeson-0.2.0.0@rev:2 - indexed-profunctors-0.1 - lens-4.18 -- lsp-test-0.11.0.4 +- lsp-test-0.11.0.5 - monad-dijkstra-0.1.1.2 - opentelemetry-0.4.2 - optics-core-0.2