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 +57/−0
- README.md +3/−3
- haskell-language-server.cabal +30/−63
- src/HlsPlugins.hs +0/−21
- test/functional/Completion.hs +1/−1
- test/functional/FunctionalBadProject.hs +20/−30
- test/functional/FunctionalCodeAction.hs +0/−23
- test/functional/HieBios.hs +8/−25
- test/testdata/hieBiosError/Foo.hs +0/−1
- test/testdata/hieBiosError/hie.yaml +0/−0
- test/testdata/hieBiosMainIs/Main.hs +4/−2
- test/testdata/hieBiosMainIs/cabal.project +1/−0
- test/testdata/hieBiosMainIs/hieBiosMainIs.cabal +2/−1
- test/testdata/missingModuleTest/missingModule/cabal.project +1/−0
- test/testdata/missingModuleTest/missingModule/hie.yaml +2/−0
- test/testdata/missingModuleTest/missingModule/missingModule.cabal +10/−0
- test/testdata/missingModuleTest/missingModule/src/MyLib.hs +5/−0
- test/testdata/missingModuleTest/noPrefixMatch/app/Main.hs +4/−0
- test/testdata/missingModuleTest/noPrefixMatch/app/Other.hs +1/−0
- test/testdata/missingModuleTest/noPrefixMatch/cabal.project +1/−0
- test/testdata/missingModuleTest/noPrefixMatch/hie.yaml +4/−0
- test/testdata/missingModuleTest/noPrefixMatch/noPrefixMatch.cabal +9/−0
- test/wrapper/Main.hs +1/−1
@@ -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
@@ -9,7 +9,7 @@ [![CircleCI][badge-circleci]][circleci] [](https://github.com/haskell/haskell-language-server/actions/workflows/test.yml) [](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.
@@ -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
@@ -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" :
@@ -377,4 +377,4 @@ @? "Should not contain completion: " ++ show lbl expectFailIfBeforeGhc92 :: String -> TestTree -> TestTree-expectFailIfBeforeGhc92 = knownBrokenForGhcVersions [GHC810, GHC90]+expectFailIfBeforeGhc92 = knownBrokenForGhcVersions [GHC90]
@@ -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")
@@ -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) }
@@ -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"+ ]
@@ -1,1 +0,0 @@-main = putStrLn "hey"
@@ -1,4 +1,6 @@-module Main where+module Main (main) where main :: IO ()-main = putStrLn "Hello, Haskell!"+main = print foo++foo = 5 :: Int
@@ -0,0 +1,1 @@+packages: .
@@ -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
@@ -0,0 +1,1 @@+packages: ./
@@ -0,0 +1,2 @@+cradle:+ cabal:
@@ -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
@@ -0,0 +1,5 @@+module MyLib where++someFunc :: IO ()+someFunc = do+ putStrLn "someFunc"
@@ -0,0 +1,4 @@++main :: IO ()+main = do+ putStrLn "someFunc"
@@ -0,0 +1,1 @@+module Other where
@@ -0,0 +1,1 @@+packages: ./
@@ -0,0 +1,4 @@+cradle:+ cabal:+ - path: ./app/Main.hs+ component: exe:testExe
@@ -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
@@ -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