From 00091bb70bc79ce36268d61a0bca4990d051e88b Mon Sep 17 00:00:00 2001 From: Avi Dessauer Date: Wed, 1 Jul 2020 23:58:41 -0400 Subject: [PATCH 1/5] Use implicit-hie-cradle --- exe/Main.hs | 3 ++- haskell-language-server.cabal | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/exe/Main.hs b/exe/Main.hs index 237ed9b2e7..c84ca88eec 100644 --- a/exe/Main.hs +++ b/exe/Main.hs @@ -68,6 +68,7 @@ import GHC.Check import HIE.Bios.Cradle import HIE.Bios.Environment (addCmdOpts, makeDynFlagsAbsolute) import HIE.Bios.Types +import Hie.Implicit.Cradle import HscTypes (HscEnv(..), ic_dflags) import qualified Language.Haskell.LSP.Core as LSP import Ide.Logger @@ -442,7 +443,7 @@ loadSession dir = do when optTesting $ eventer $ notifyCradleLoaded cfp logInfo logger $ T.pack ("Consulting the cradle for " <> show cfp) - cradle <- maybe (loadImplicitCradle $ addTrailingPathSeparator dir) loadCradle hieYaml + cradle <- maybe (loadImplicitHieCradle $ addTrailingPathSeparator dir) loadCradle hieYaml -- Display a user friendly progress message here: They probably don't know what a -- cradle is let progMsg = "Setting up project " <> T.pack (takeBaseName (cradleRootDir cradle)) diff --git a/haskell-language-server.cabal b/haskell-language-server.cabal index ca8b41cadd..b03b32976e 100644 --- a/haskell-language-server.cabal +++ b/haskell-language-server.cabal @@ -163,6 +163,7 @@ executable haskell-language-server , hie-bios >= 0.4 , haskell-language-server , hslogger + , implicit-hie-cradle , optparse-applicative , safe-exceptions , shake >= 0.17.5 From 5327ac03bd1e5a897e4bdb0691ed91c36923246c Mon Sep 17 00:00:00 2001 From: Avi Dessauer Date: Thu, 2 Jul 2020 00:56:35 -0400 Subject: [PATCH 2/5] Add implicit-hie dependencies --- cabal.project | 2 +- stack-8.10.1.yaml | 2 ++ stack-8.6.4.yaml | 4 ++++ stack-8.6.5.yaml | 2 ++ stack-8.8.2.yaml | 2 ++ stack-8.8.3.yaml | 2 ++ stack.yaml | 2 ++ 7 files changed, 15 insertions(+), 1 deletion(-) diff --git a/cabal.project b/cabal.project index 2bcc2b50f4..f9be7f0360 100644 --- a/cabal.project +++ b/cabal.project @@ -12,4 +12,4 @@ package ghcide write-ghc-environment-files: never -index-state: 2020-07-01T21:29:04Z +index-state: 2020-07-02T03:49:44Z diff --git a/stack-8.10.1.yaml b/stack-8.10.1.yaml index 06455feb25..e02dd65e87 100644 --- a/stack-8.10.1.yaml +++ b/stack-8.10.1.yaml @@ -14,6 +14,8 @@ extra-deps: - clock-0.7.2 - floskell-0.10.3 - ghc-exactprint-0.6.3 +- implicit-hie-0.1.1.0 +- implicit-hie-cradle-0.1.0.0 - lens-4.19.1 - lsp-test-0.11.0.2 - monad-dijkstra-0.1.1.2 diff --git a/stack-8.6.4.yaml b/stack-8.6.4.yaml index c3dc072f95..305567e219 100644 --- a/stack-8.6.4.yaml +++ b/stack-8.6.4.yaml @@ -36,6 +36,8 @@ extra-deps: - hsimport-0.11.0@rev:2 - HsYAML-0.2.1.0@rev:1 - HsYAML-aeson-0.2.0.0@rev:1 +- implicit-hie-0.1.1.0 +- implicit-hie-cradle-0.1.0.0 - lens-4.18 - lsp-test-0.11.0.2 - microlens-th-0.4.2.3@rev:1 @@ -63,6 +65,8 @@ extra-deps: - yaml-0.11.1.2 # To make build work in windows 7 - unix-time-0.4.7 +- implicit-hie-0.1.1.0 +- implicit-hie-cradle-0.1.0.0 flags: diff --git a/stack-8.6.5.yaml b/stack-8.6.5.yaml index 236b62f52f..4c17fcd013 100644 --- a/stack-8.6.5.yaml +++ b/stack-8.6.5.yaml @@ -28,6 +28,8 @@ extra-deps: - HsYAML-0.2.1.0@rev:1 - HsYAML-aeson-0.2.0.0@rev:1 - indexed-profunctors-0.1 +- implicit-hie-0.1.1.0 +- implicit-hie-cradle-0.1.0.0 - lens-4.18 - lsp-test-0.11.0.2 - monad-dijkstra-0.1.1.2 diff --git a/stack-8.8.2.yaml b/stack-8.8.2.yaml index a8d3c65f78..3dcd08ad23 100644 --- a/stack-8.8.2.yaml +++ b/stack-8.8.2.yaml @@ -28,6 +28,8 @@ extra-deps: - hsimport-0.11.0 - HsYAML-0.2.1.0@rev:1 - HsYAML-aeson-0.2.0.0@rev:1 +- implicit-hie-0.1.1.0 +- implicit-hie-cradle-0.1.0.0 - ilist-0.3.1.0 - lsp-test-0.11.0.2 - monad-dijkstra-0.1.1.2 diff --git a/stack-8.8.3.yaml b/stack-8.8.3.yaml index 8c3b85155c..116fb9844c 100644 --- a/stack-8.8.3.yaml +++ b/stack-8.8.3.yaml @@ -23,6 +23,8 @@ extra-deps: - hlint-2.2.8 - hoogle-5.0.17.11 - hsimport-0.11.0 +- implicit-hie-0.1.1.0 +- implicit-hie-cradle-0.1.0.0 - ilist-0.3.1.0 - lsp-test-0.11.0.2 - monad-dijkstra-0.1.1.2 diff --git a/stack.yaml b/stack.yaml index 236b62f52f..66930352e6 100644 --- a/stack.yaml +++ b/stack.yaml @@ -27,6 +27,8 @@ extra-deps: - hie-bios-0.5.0 - HsYAML-0.2.1.0@rev:1 - HsYAML-aeson-0.2.0.0@rev:1 +- implicit-hie-0.1.1.0 +- implicit-hie-cradle-0.1.0.0 - indexed-profunctors-0.1 - lens-4.18 - lsp-test-0.11.0.2 From a00691b3c5827ff33dda3f08c695610639fb4174 Mon Sep 17 00:00:00 2001 From: Avi Dessauer Date: Thu, 2 Jul 2020 03:47:44 -0400 Subject: [PATCH 3/5] Bump nightly & hie-bios --- stack-8.10.1.yaml | 2 +- stack-8.6.4.yaml | 2 +- stack-8.6.5.yaml | 2 +- stack-8.8.2.yaml | 2 +- stack-8.8.3.yaml | 2 +- stack.yaml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/stack-8.10.1.yaml b/stack-8.10.1.yaml index e02dd65e87..769c55ab66 100644 --- a/stack-8.10.1.yaml +++ b/stack-8.10.1.yaml @@ -1,4 +1,4 @@ -resolver: nightly-2020-06-15 +resolver: nightly-2020-06-29 compiler: ghc-8.10.1 packages: diff --git a/stack-8.6.4.yaml b/stack-8.6.4.yaml index 305567e219..1292c8fa3d 100644 --- a/stack-8.6.4.yaml +++ b/stack-8.6.4.yaml @@ -30,7 +30,7 @@ extra-deps: - haskell-lsp-0.22.0.0 - haskell-lsp-types-0.22.0.0 - haskell-src-exts-1.21.1 -- hie-bios-0.5.0 +- hie-bios-0.5.1 - hlint-2.2.8 - hoogle-5.0.17.11 - hsimport-0.11.0@rev:2 diff --git a/stack-8.6.5.yaml b/stack-8.6.5.yaml index 4c17fcd013..b4ff7f8f20 100644 --- a/stack-8.6.5.yaml +++ b/stack-8.6.5.yaml @@ -24,7 +24,7 @@ extra-deps: - haddock-library-1.8.0 - haskell-lsp-0.22.0.0 - haskell-lsp-types-0.22.0.0 -- hie-bios-0.5.0 +- hie-bios-0.5.1 - HsYAML-0.2.1.0@rev:1 - HsYAML-aeson-0.2.0.0@rev:1 - indexed-profunctors-0.1 diff --git a/stack-8.8.2.yaml b/stack-8.8.2.yaml index 3dcd08ad23..c7dc69282b 100644 --- a/stack-8.8.2.yaml +++ b/stack-8.8.2.yaml @@ -22,7 +22,7 @@ extra-deps: - haskell-lsp-0.22.0.0 - haskell-lsp-types-0.22.0.0 - haskell-src-exts-1.21.1 -- hie-bios-0.5.0 +- hie-bios-0.5.1 - hlint-2.2.8 - hoogle-5.0.17.11 - hsimport-0.11.0 diff --git a/stack-8.8.3.yaml b/stack-8.8.3.yaml index 116fb9844c..b6c08b7584 100644 --- a/stack-8.8.3.yaml +++ b/stack-8.8.3.yaml @@ -19,7 +19,7 @@ extra-deps: - haskell-lsp-0.22.0.0 - haskell-lsp-types-0.22.0.0 - haskell-src-exts-1.21.1 -- hie-bios-0.5.0 +- hie-bios-0.5.1 - hlint-2.2.8 - hoogle-5.0.17.11 - hsimport-0.11.0 diff --git a/stack.yaml b/stack.yaml index 66930352e6..d87c158e7b 100644 --- a/stack.yaml +++ b/stack.yaml @@ -24,7 +24,7 @@ extra-deps: - haddock-library-1.8.0 - haskell-lsp-0.22.0.0 - haskell-lsp-types-0.22.0.0 -- hie-bios-0.5.0 +- hie-bios-0.5.1 - HsYAML-0.2.1.0@rev:1 - HsYAML-aeson-0.2.0.0@rev:1 - implicit-hie-0.1.1.0 From 4bd5777052c627131389594508626ccb6a4fee05 Mon Sep 17 00:00:00 2001 From: Avi Dessauer Date: Thu, 2 Jul 2020 04:20:24 -0400 Subject: [PATCH 4/5] Use implicit-hie in wrapper --- exe/Wrapper.hs | 3 ++- haskell-language-server.cabal | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/exe/Wrapper.hs b/exe/Wrapper.hs index 395eae6972..5b7b7cbd14 100644 --- a/exe/Wrapper.hs +++ b/exe/Wrapper.hs @@ -18,6 +18,7 @@ import Data.List -- import qualified Data.Text.IO as T -- import Development.IDE.Types.Logger import HIE.Bios +import Hie.Implicit.Cradle import Ide.Cradle (findLocalCradle) import Ide.Logger (logm) import Ide.Version @@ -65,7 +66,7 @@ main = do logm $ "args:" ++ show args -- Get the cabal directory from the cradle - cradle <- findLocalCradle (d "File.hs") + cradle <- loadImplicitHieCradle (d "File.hs") let dir = cradleRootDir cradle logm $ "Cradle directory:" ++ dir setCurrentDirectory dir diff --git a/haskell-language-server.cabal b/haskell-language-server.cabal index b03b32976e..705d0a663f 100644 --- a/haskell-language-server.cabal +++ b/haskell-language-server.cabal @@ -205,6 +205,7 @@ executable haskell-language-server-wrapper , ghc-paths , hie-bios , haskell-language-server + , implicit-hie-cradle , optparse-applicative , process default-language: Haskell2010 From 66637f79ac7c8909afa7b50adeb0b0518822144b Mon Sep 17 00:00:00 2001 From: Avi Dessauer Date: Thu, 2 Jul 2020 05:24:25 -0400 Subject: [PATCH 5/5] Update exe/Wrapper.hs Co-authored-by: fendor --- exe/Wrapper.hs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/exe/Wrapper.hs b/exe/Wrapper.hs index 5b7b7cbd14..8280a786cb 100644 --- a/exe/Wrapper.hs +++ b/exe/Wrapper.hs @@ -66,7 +66,8 @@ main = do logm $ "args:" ++ show args -- Get the cabal directory from the cradle - cradle <- loadImplicitHieCradle (d "File.hs") + hieYaml <- findCradle (d "File.hs") + cradle <- maybe (loadImplicitHieCradle $ addTrailingPathSeparator d) loadCradle hieYaml let dir = cradleRootDir cradle logm $ "Cradle directory:" ++ dir setCurrentDirectory dir