packages feed

haskell-language-server 2.2.0.0 → 2.3.0.0

raw patch · 23 files changed

+164/−171 lines, 23 filesdep −hls-haddock-comments-plugindep −hls-stan-plugindep −hls-tactics-plugindep ~ghcidedep ~hls-alternate-number-format-plugindep ~hls-cabal-fmt-pluginPVP ok

version bump matches the API change (PVP)

Dependencies removed: hls-haddock-comments-plugin, hls-stan-plugin, hls-tactics-plugin

Dependency ranges changed: ghcide, hls-alternate-number-format-plugin, hls-cabal-fmt-plugin, hls-cabal-plugin, hls-call-hierarchy-plugin, hls-change-type-signature-plugin, hls-class-plugin, hls-code-range-plugin, hls-eval-plugin, hls-explicit-fixity-plugin, hls-explicit-imports-plugin, hls-explicit-record-fields-plugin, hls-floskell-plugin, hls-fourmolu-plugin, hls-gadt-plugin, hls-hlint-plugin, hls-module-name-plugin, hls-ormolu-plugin, hls-overloaded-record-dot-plugin, hls-plugin-api, hls-pragmas-plugin, hls-qualify-imported-names-plugin, hls-refactor-plugin, hls-rename-plugin, hls-retrie-plugin, hls-splice-plugin, hls-stylish-haskell-plugin, hls-test-utils

API changes (from Hackage documentation)

Files

ChangeLog.md view
@@ -1,5 +1,62 @@ # Changelog for haskell-language-server +## 2.3.0.0.0++* Binaries for GHC 9.6.3+* Drop support for GHC 8.10+* Remove `hls-haddock-comments-plugin`, `hls-stan-plugin`, and `hls-tactics-plugin`+* Don't suggest bogus modules names in `hls-module-name-plugin` (#3784)+* Add support for external Ormolu (#3771)+* Improve refine imports behaviour for qualified imports (#3806)++### Pull Requests++- Switch chat room to matrix+  ([#3817](https://github.com/haskell/haskell-language-server/pull/3817)) by @July541+- Fix flaky hie bios test+  ([#3814](https://github.com/haskell/haskell-language-server/pull/3814)) by @fendor+- Revert "Bump actions/checkout from 3 to 4"+  ([#3813](https://github.com/haskell/haskell-language-server/pull/3813)) by @wz1000+- Add test directories to hls-retrie-plugin+  ([#3808](https://github.com/haskell/haskell-language-server/pull/3808)) by @Vekhir+- Change refine imports behaviour for qualified imports+  ([#3806](https://github.com/haskell/haskell-language-server/pull/3806)) by @joyfulmantis+- Update links to Nix documentation+  ([#3805](https://github.com/haskell/haskell-language-server/pull/3805)) by @maralorn+- Bump actions/checkout from 3 to 4+  ([#3802](https://github.com/haskell/haskell-language-server/pull/3802)) by @dependabot[bot]+- Bump cachix/install-nix-action from 22 to 23+  ([#3801](https://github.com/haskell/haskell-language-server/pull/3801)) by @dependabot[bot]+- Add support for Fourmolu 0.14.0.0+  ([#3796](https://github.com/haskell/haskell-language-server/pull/3796)) by @brandonchinn178+- Add code lens  and fix code actions experiments+  ([#3791](https://github.com/haskell/haskell-language-server/pull/3791)) by @joyfulmantis+- Bump lsp versions in flake+  ([#3790](https://github.com/haskell/haskell-language-server/pull/3790)) by @colonelpanic8+- Clean up Release CI+  ([#3787](https://github.com/haskell/haskell-language-server/pull/3787)) by @fendor+- Do not suggest bogus module names+  ([#3784](https://github.com/haskell/haskell-language-server/pull/3784)) by @Bodigrim+- Delete `hls-haddock-comments-plugin`, `hls-stan-plugin`, and `hls-tactics-plugin`+  ([#3782](https://github.com/haskell/haskell-language-server/pull/3782)) by @michaelpj+- Enhance/releasing checklist+  ([#3781](https://github.com/haskell/haskell-language-server/pull/3781)) by @fendor+- Add cradle dependencies to session loading errors+  ([#3779](https://github.com/haskell/haskell-language-server/pull/3779)) by @VeryMilkyJoe+- Prepare release 2.2.0.0+  ([#3775](https://github.com/haskell/haskell-language-server/pull/3775)) by @fendor+- Add support for external Ormolu+  ([#3771](https://github.com/haskell/haskell-language-server/pull/3771)) by @sir4ur0n+- Support for resolve for class-plugin lenses+  ([#3769](https://github.com/haskell/haskell-language-server/pull/3769)) by @joyfulmantis+- Introduce declarative test project definition for plugin tests+  ([#3767](https://github.com/haskell/haskell-language-server/pull/3767)) by @fendor+- Use latest version of fourmolu possible+  ([#3764](https://github.com/haskell/haskell-language-server/pull/3764)) by @brandonchinn178+- Drop support for GHC 8.10+  ([#3434](https://github.com/haskell/haskell-language-server/pull/3434)) by @michaelpj++ ## 2.2.0.0  * Binaries for GHC 9.4.7
README.md view
@@ -9,7 +9,7 @@ [![CircleCI][badge-circleci]][circleci] [![GitHub Testing Workflow](https://github.com/haskell/haskell-language-server/actions/workflows/test.yml/badge.svg)](https://github.com/haskell/haskell-language-server/actions/workflows/test.yml) [![GitHub Nix Workflow](https://github.com/haskell/haskell-language-server/actions/workflows/nix.yml/badge.svg)](https://github.com/haskell/haskell-language-server/actions/workflows/nix.yml)-[![ircchat][badge-ircchat]][ircchat]+[![matrix][badge-matrix]][matrix] [![codetriage][badge-codetriage]][codetriage]  [logo]: ./docs/logos/logo-256.png@@ -22,8 +22,8 @@ [hackage]: https://hackage.haskell.org/package/haskell-language-server [badge-codetriage]: https://www.codetriage.com/haskell/haskell-language-server/badges/users.svg [codetriage]:https://www.codetriage.com/haskell/haskell-language-server-[badge-ircchat]:https://img.shields.io/badge/chat-on%20libera-brightgreen.svg-[ircchat]:https://web.libera.chat/?channels=#haskell-language-server+[badge-matrix]:https://img.shields.io/badge/chat-on%20matrix-brightgreen.svg+[matrix]:https://matrix.to/#/#haskell-language-server:matrix.org [github-release]:https://github.com/haskell/haskell-language-server/releases/latest  The official Haskell language server (LSP) implementation. Consult the [project documentation](https://haskell-language-server.readthedocs.io/en/latest/) for more details.
haskell-language-server.cabal view
@@ -1,7 +1,7 @@ cabal-version:      3.0 category:           Development name:               haskell-language-server-version:            2.2.0.0+version:            2.3.0.0 synopsis:           LSP server for GHC description:   Please see the README on GitHub at <https://github.com/haskell/haskell-language-server#readme>@@ -14,7 +14,7 @@ license:            Apache-2.0 license-file:       LICENSE build-type:         Simple-tested-with:        GHC == 8.10.7 || == 9.0.2 || ==9.2.5+tested-with:        GHC == 9.0.2 || ==9.2.5 extra-source-files:   README.md   ChangeLog.md@@ -79,11 +79,6 @@   default:     True   manual:      True -flag haddockComments-  description: Enable haddockComments plugin-  default:     True-  manual:      True- flag eval   description: Enable eval plugin   default:     True@@ -104,21 +99,11 @@   default:     True   manual:      True -flag tactic-  description: Enable tactic plugin-  default:     True-  manual:      True- flag hlint   description: Enable hlint plugin   default:     True   manual:      True -flag stan-  description: Enable stan plugin-  default:     True-  manual:      True- flag moduleName   description: Enable moduleName plugin   default:     True@@ -213,144 +198,129 @@  common cabalfmt   if flag(cabalfmt)-    build-depends: hls-cabal-fmt-plugin == 2.2.0.0+    build-depends: hls-cabal-fmt-plugin == 2.3.0.0     cpp-options: -Dhls_cabalfmt  common cabal   if flag(cabal)-    build-depends: hls-cabal-plugin == 2.2.0.0+    build-depends: hls-cabal-plugin == 2.3.0.0     cpp-options: -Dhls_cabal  common class   if flag(class)-    build-depends: hls-class-plugin == 2.2.0.0+    build-depends: hls-class-plugin == 2.3.0.0     cpp-options: -Dhls_class  common callHierarchy   if flag(callHierarchy)-    build-depends: hls-call-hierarchy-plugin == 2.2.0.0+    build-depends: hls-call-hierarchy-plugin == 2.3.0.0     cpp-options: -Dhls_callHierarchy -common haddockComments-  if flag(haddockComments) && (impl(ghc < 9.2.1) || flag(ignore-plugins-ghc-bounds))-    build-depends: hls-haddock-comments-plugin == 2.2.0.0-    cpp-options: -Dhls_haddockComments- common eval   if flag(eval)-    build-depends: hls-eval-plugin == 2.2.0.0+    build-depends: hls-eval-plugin == 2.3.0.0     cpp-options: -Dhls_eval  common importLens   if flag(importLens)-    build-depends: hls-explicit-imports-plugin == 2.2.0.0+    build-depends: hls-explicit-imports-plugin == 2.3.0.0     cpp-options: -Dhls_importLens  common rename   if flag(rename)-    build-depends: hls-rename-plugin == 2.2.0.0+    build-depends: hls-rename-plugin == 2.3.0.0     cpp-options: -Dhls_rename  common retrie   if flag(retrie)-    build-depends: hls-retrie-plugin == 2.2.0.0+    build-depends: hls-retrie-plugin == 2.3.0.0     cpp-options: -Dhls_retrie -common tactic-  if flag(tactic) && (impl(ghc < 9.2.1) || flag(ignore-plugins-ghc-bounds))-    build-depends: hls-tactics-plugin == 2.2.0.0-    cpp-options: -Dhls_tactic- common hlint   if flag(hlint)-    build-depends: hls-hlint-plugin == 2.2.0.0+    build-depends: hls-hlint-plugin == 2.3.0.0     cpp-options: -Dhls_hlint -common stan-  if flag(stan) && (impl(ghc >= 8.10) && impl(ghc < 9.0))-    build-depends: hls-stan-plugin == 2.2.0.0-    cpp-options: -Dhls_stan- common moduleName   if flag(moduleName)-    build-depends: hls-module-name-plugin == 2.2.0.0+    build-depends: hls-module-name-plugin == 2.3.0.0     cpp-options: -Dhls_moduleName  common pragmas   if flag(pragmas)-    build-depends: hls-pragmas-plugin == 2.2.0.0+    build-depends: hls-pragmas-plugin == 2.3.0.0     cpp-options: -Dhls_pragmas  common splice   if flag(splice)-    build-depends: hls-splice-plugin == 2.2.0.0+    build-depends: hls-splice-plugin == 2.3.0.0     cpp-options: -Dhls_splice  common alternateNumberFormat   if flag(alternateNumberFormat)-    build-depends: hls-alternate-number-format-plugin == 2.2.0.0+    build-depends: hls-alternate-number-format-plugin == 2.3.0.0     cpp-options: -Dhls_alternateNumberFormat  common qualifyImportedNames   if flag(qualifyImportedNames)-    build-depends: hls-qualify-imported-names-plugin == 2.2.0.0+    build-depends: hls-qualify-imported-names-plugin == 2.3.0.0     cpp-options: -Dhls_qualifyImportedNames  common codeRange   if flag(codeRange)-    build-depends: hls-code-range-plugin == 2.2.0.0+    build-depends: hls-code-range-plugin == 2.3.0.0     cpp-options: -Dhls_codeRange  common changeTypeSignature   if flag(changeTypeSignature)-    build-depends: hls-change-type-signature-plugin == 2.2.0.0+    build-depends: hls-change-type-signature-plugin == 2.3.0.0     cpp-options: -Dhls_changeTypeSignature  common gadt   if flag(gadt)-    build-depends: hls-gadt-plugin == 2.2.0.0+    build-depends: hls-gadt-plugin == 2.3.0.0     cpp-options: -Dhls_gadt  common explicitFixity   if flag(explicitFixity)-    build-depends: hls-explicit-fixity-plugin == 2.2.0.0+    build-depends: hls-explicit-fixity-plugin == 2.3.0.0     cpp-options: -DexplicitFixity  common explicitFields   if flag(explicitFields)-    build-depends: hls-explicit-record-fields-plugin == 2.2.0.0+    build-depends: hls-explicit-record-fields-plugin == 2.3.0.0     cpp-options: -DexplicitFields  common overloadedRecordDot   if flag(overloadedRecordDot) && (impl(ghc >= 9.2.0) || flag(ignore-plugins-ghc-bounds))-    build-depends: hls-overloaded-record-dot-plugin == 2.2.0.0+    build-depends: hls-overloaded-record-dot-plugin == 2.3.0.0     cpp-options: -Dhls_overloaded_record_dot  -- formatters  common floskell   if flag(floskell) && impl(ghc < 9.5)-    build-depends: hls-floskell-plugin == 2.2.0.0+    build-depends: hls-floskell-plugin == 2.3.0.0     cpp-options: -Dhls_floskell  common fourmolu   if flag(fourmolu)-    build-depends: hls-fourmolu-plugin == 2.2.0.0+    build-depends: hls-fourmolu-plugin == 2.3.0.0     cpp-options: -Dhls_fourmolu  common ormolu   if flag(ormolu) && impl(ghc < 9.7)-    build-depends: hls-ormolu-plugin == 2.2.0.0+    build-depends: hls-ormolu-plugin == 2.3.0.0     cpp-options: -Dhls_ormolu  common stylishHaskell   if flag(stylishHaskell)-    build-depends: hls-stylish-haskell-plugin == 2.2.0.0+    build-depends: hls-stylish-haskell-plugin == 2.3.0.0     cpp-options: -Dhls_stylishHaskell  common refactor   if flag(refactor)-    build-depends: hls-refactor-plugin == 2.2.0.0+    build-depends: hls-refactor-plugin == 2.3.0.0     cpp-options: -Dhls_refactor  library@@ -364,14 +334,11 @@                   , cabalfmt                   , changeTypeSignature                   , class-                  , haddockComments                   , eval                   , importLens                   , rename                   , retrie-                  , tactic                   , hlint-                  , stan                   , moduleName                   , pragmas                   , splice@@ -405,12 +372,12 @@     , cryptohash-sha1     , data-default     , ghc-    , ghcide                == 2.2.0.0+    , ghcide                == 2.3.0.0     , githash               >=0.1.6.1     , lsp                   >= 2.2.0.0     , hie-bios     , hiedb-    , hls-plugin-api        == 2.2.0.0+    , hls-plugin-api        == 2.3.0.0     , optparse-applicative     , optparse-simple     , process@@ -549,7 +516,7 @@     , lens-aeson     , ghcide     , ghcide-test-utils-    , hls-test-utils == 2.2.0.0+    , hls-test-utils == 2.3.0.0     , lsp-types     , aeson     , hls-plugin-api
src/HlsPlugins.hs view
@@ -28,10 +28,6 @@ import qualified Ide.Plugin.Class                  as Class #endif -#if hls_haddockComments-import qualified Ide.Plugin.HaddockComments        as HaddockComments-#endif- #if hls_eval import qualified Ide.Plugin.Eval                   as Eval #endif@@ -50,18 +46,10 @@ import qualified Ide.Plugin.Retrie                 as Retrie #endif -#if hls_tactic-import qualified Ide.Plugin.Tactic                 as Tactic-#endif- #if hls_hlint import qualified Ide.Plugin.Hlint                  as Hlint #endif -#if hls_stan-import qualified Ide.Plugin.Stan                   as Stan-#endif- #if hls_moduleName import qualified Ide.Plugin.ModuleName             as ModuleName #endif@@ -165,9 +153,6 @@       -- cabalFormattingProvider in the Default Config       let pId = "cabal-fmt" in CabalFmt.descriptor (pluginRecorder pId) pId: #endif-#if hls_tactic-      let pId = "tactics" in Tactic.descriptor (pluginRecorder pId) pId:-#endif #if hls_ormolu       let pId = "ormolu" in Ormolu.descriptor (pluginRecorder pId) pId : #endif@@ -186,9 +171,6 @@ #if hls_class       let pId = "class" in Class.descriptor (pluginRecorder pId) pId: #endif-#if hls_haddockComments-      let pId = "haddockComments" in HaddockComments.descriptor (pluginRecorder pId) pId:-#endif #if hls_eval       let pId = "eval" in Eval.descriptor (pluginRecorder pId) pId: #endif@@ -203,9 +185,6 @@ #endif #if hls_hlint       let pId = "hlint" in Hlint.descriptor (pluginRecorder pId) pId:-#endif-#if hls_stan-      let pId = "stan" in Stan.descriptor (pluginRecorder pId) pId : #endif #if hls_splice       Splice.descriptor "splice" :
test/functional/Completion.hs view
@@ -377,4 +377,4 @@     @? "Should not contain completion: " ++ show lbl  expectFailIfBeforeGhc92 :: String -> TestTree -> TestTree-expectFailIfBeforeGhc92 = knownBrokenForGhcVersions [GHC810, GHC90]+expectFailIfBeforeGhc92 = knownBrokenForGhcVersions [GHC90]
test/functional/FunctionalBadProject.hs view
@@ -2,37 +2,27 @@  module FunctionalBadProject (tests) where --- import           Control.Lens hiding (List)--- import           Control.Monad.IO.Class--- import qualified Data.Text as T--- import           Language.LSP.Test hiding (message)--- import           Language.LSP.Types as LSP--- import           Language.LSP.Types.Lens as LSP hiding (contents, error )+import           Control.Lens+import qualified Data.Text                  as T+import qualified Language.LSP.Protocol.Lens as L import           Test.Hls+import           Test.Hls.Command --- ------------------------------------------------------------------------ TODO: Currently this can not succeed, since such an error is thrown in "runActionWithContext" which--- can produce diagnostics at the moment. Needs more investigation--- TODO: @fendor: Add issue link here---+ tests :: TestTree-tests = testGroup "behaviour on malformed projects" [-    testCase "no test executed" $ True @?= True+tests = testGroup "behaviour on malformed projects"+    [ testCase "Missing module diagnostic" $ do+        runSession hlsCommand fullCaps "test/testdata/missingModuleTest/missingModule/" $ do+            doc <- openDoc "src/MyLib.hs" "haskell"+            [diag] <- waitForDiagnosticsFrom doc+            liftIO $ assertBool "missing module name" $ "MyLib" `T.isInfixOf` (diag ^. L.message)+            liftIO $ assertBool  "module missing context" $ "may not be listed" `T.isInfixOf` (diag ^. L.message)+    , testCase "Missing module diagnostic - no matching prefix" $ do+        runSession hlsCommand fullCaps "test/testdata/missingModuleTest/noPrefixMatch/" $ do+            doc <- openDoc "app/Other.hs" "haskell"+            [diag] <- waitForDiagnosticsFrom doc+            liftIO $ assertBool "missing module name" $+                "Other" `T.isInfixOf` (diag ^. L.message)+            liftIO $ assertBool  "hie-bios message" $+                "Cabal {component = Just \"exe:testExe\"}" `T.isInfixOf` (diag ^. L.message)     ]--    -- testCase "deals with cabal file with unsatisfiable dependency" $-    --     runSession hlsCommandExamplePlugin codeActionSupportCaps "test/testdata/badProjects/cabal" $ do-    --         _doc <- openDoc "Foo.hs" "haskell"--    --         diags@(d:_) <- waitForDiagnosticsSource "bios"-    --         -- liftIO $ show diags @?= ""-    --         -- liftIO $ putStrLn $ show diags-    --         -- liftIO $ putStrLn "a"-    --         liftIO $ do-    --             length diags @?= 1-    --             d ^. range @?= Range (Position 0 0) (Position 1 0)-    --             d ^. severity @?= (Just DsError)-    --             d ^. code @?= Nothing-    --             d ^. source @?= Just "bios"-    --             d ^. message @?=-    --                 (T.pack "readCreateProcess: stack \"build\" \"--only-configure\" \".\" (exit 1): failed\n")
test/functional/FunctionalCodeAction.hs view
@@ -8,7 +8,6 @@ import           Control.Monad import           Data.Aeson.Lens              (_Object) import           Data.List-import qualified Data.Map                     as M import           Data.Maybe import qualified Data.Text                    as T import           Development.IDE.Core.Compile (sourceTypecheck)@@ -307,16 +306,6 @@                     , "foo x = maxBound"                     ] -      , knownBrokenForGhcVersions [GHC92, GHC94, GHC96] "The wingman plugin doesn't yet compile in GHC92/GHC94" $-          testCase "doesn't work when wingman is active" $-          runSession hlsCommand fullCaps "test/testdata" $ do-              doc <- openDoc "TypedHoles.hs" "haskell"-              _ <- waitForDiagnosticsFromSource doc (T.unpack sourceTypecheck)-              cas <- getAllCodeActions doc-              liftIO $ do-                  dontExpectCodeAction cas ["replace _ with minBound"]-                  dontExpectCodeAction cas ["replace _ with foo _"]-       , testCase "shows more suggestions" $             runSessionWithConfig (def {lspConfig = hlsConfigToClientConfig testConfig}) hlsCommand fullCaps "test/testdata" $ do                 doc <- openDoc "TypedHoles2.hs" "haskell"@@ -340,17 +329,6 @@                         , "  where"                         , "    stuff (A a) = A (a + 1)"                         ]--      , knownBrokenForGhcVersions [GHC92, GHC94, GHC96] "The wingman plugin doesn't yet compile in GHC92/GHC94" $-          testCase "doesnt show more suggestions when wingman is active" $-            runSession hlsCommand fullCaps "test/testdata" $ do-                doc <- openDoc "TypedHoles2.hs" "haskell"-                _ <- waitForDiagnosticsFromSource doc (T.unpack sourceTypecheck)-                cas <- getAllCodeActions doc--                liftIO $ do-                    dontExpectCodeAction cas ["replace _ with foo2 _"]-                    dontExpectCodeAction cas ["replace _ with A _"]     ]  signatureTests :: TestTree@@ -433,7 +411,6 @@ testConfig :: Config testConfig = def {   formattingProvider = "none"-  , plugins = M.insert "tactics" (def { plcGlobalOn = False }) (plugins def)   }  
test/functional/HieBios.hs view
@@ -5,32 +5,15 @@ import           Control.Monad.IO.Class import qualified Data.Text                  as T import qualified Language.LSP.Protocol.Lens as L-import           System.FilePath            ((</>)) import           Test.Hls import           Test.Hls.Command - tests :: TestTree-tests = testGroup "hie-bios" [-    testCase "loads modules inside main-is" $ do-        writeFile (hieBiosErrorPath </> "hie.yaml") ""-        runSession hlsCommand fullCaps "test/testdata/hieBiosMainIs" $ do-            doc <- openDoc "Main.hs" "haskell"-            Just mainHoverText <- getHover doc (Position 3 1)-            let hoverContents = mainHoverText ^. L.contents-            case hoverContents of-                 (InL (MarkupContent _ x)) -> do-                    liftIO $ "main :: IO ()" `T.isInfixOf` x-                            @? "found hover text for main"-                 _ -> error $ "Unexpected hover contents: " ++ show hoverContents--    , expectFailBecause "hie-bios 0.11 has poor error messages" $ testCase "reports errors in hie.yaml" $ do-        writeFile (hieBiosErrorPath </> "hie.yaml") ""-        runSession hlsCommand fullCaps hieBiosErrorPath $ do-            _ <- openDoc "Foo.hs" "haskell"-            (diag:_) <- waitForDiagnostics-            liftIO $ "Expected a cradle: key containing the preferences" `T.isInfixOf` (diag ^. L.message)-                     @? "Error reported"-    ]-    where-        hieBiosErrorPath = "test/testdata/hieBiosError"+tests = testGroup "hie-bios"+  [ testCase "loads main-is module" $ do+    runSession hlsCommand fullCaps "test/testdata/hieBiosMainIs" $ do+      _ <- openDoc "Main.hs" "haskell"+      (diag:_) <- waitForDiagnostics+      liftIO $ "Top-level binding with no type signature:" `T.isInfixOf` (diag ^. L.message)+        @? "Expected missing top-level binding diagnostic"+  ]
− test/testdata/hieBiosError/Foo.hs
@@ -1,1 +0,0 @@-main = putStrLn "hey"
− test/testdata/hieBiosError/hie.yaml
test/testdata/hieBiosMainIs/Main.hs view
@@ -1,4 +1,6 @@-module Main where+module Main (main) where  main :: IO ()-main = putStrLn "Hello, Haskell!"+main = print foo++foo = 5 :: Int
+ test/testdata/hieBiosMainIs/cabal.project view
@@ -0,0 +1,1 @@+packages: .
test/testdata/hieBiosMainIs/hieBiosMainIs.cabal view
@@ -4,5 +4,6 @@ build-type:          Simple executable hieBiosMainIs   main-is:             Main.hs-  build-depends:       base >=4.12 && <4.13+  build-depends:       base   default-language:    Haskell2010+  ghc-options:         -Wall
+ test/testdata/missingModuleTest/missingModule/cabal.project view
@@ -0,0 +1,1 @@+packages: ./
+ test/testdata/missingModuleTest/missingModule/hie.yaml view
@@ -0,0 +1,2 @@+cradle:+  cabal:
+ test/testdata/missingModuleTest/missingModule/missingModule.cabal view
@@ -0,0 +1,10 @@+cabal-version: 3.4+name:          missingModule+version:       0.1.0.0+build-type:    Simple++library+  hs-source-dirs:   ./src/+  exposed-modules:+  build-depends:    base+  default-language: Haskell2010
+ test/testdata/missingModuleTest/missingModule/src/MyLib.hs view
@@ -0,0 +1,5 @@+module MyLib where++someFunc :: IO ()+someFunc = do+    putStrLn "someFunc"
+ test/testdata/missingModuleTest/noPrefixMatch/app/Main.hs view
@@ -0,0 +1,4 @@++main :: IO ()+main = do+  putStrLn "someFunc"
+ test/testdata/missingModuleTest/noPrefixMatch/app/Other.hs view
@@ -0,0 +1,1 @@+module Other where
+ test/testdata/missingModuleTest/noPrefixMatch/cabal.project view
@@ -0,0 +1,1 @@+packages: ./
+ test/testdata/missingModuleTest/noPrefixMatch/hie.yaml view
@@ -0,0 +1,4 @@+cradle:+  cabal:+    - path: ./app/Main.hs+      component: exe:testExe
+ test/testdata/missingModuleTest/noPrefixMatch/noPrefixMatch.cabal view
@@ -0,0 +1,9 @@+cabal-version: 3.4+name:          noPrefixMatch+version:       0.1.0.0+build-type:    Simple++executable testExe+  main-is:        Main.hs+  hs-source-dirs: app+  build-depends:  base
test/wrapper/Main.hs view
@@ -9,7 +9,7 @@  projectGhcVersionTests :: TestTree projectGhcVersionTests = testGroup "--project-ghc-version"-  [ stackTest "8.10.7"+  [ stackTest "9.2.8"   , testCase "cabal with global ghc" $ do       ghcVer <- trimEnd <$> readProcess "ghc" ["--numeric-version"] ""       testDir "test/wrapper/testdata/cabal-cur-ver" ghcVer