Skip to content

Fix cabal check for Hackage release #4528

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Mar 25, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 6 additions & 72 deletions haskell-language-server.cabal
Original file line number Diff line number Diff line change
@@ -42,6 +42,8 @@ common defaults
default-language: GHC2021
-- Should have been in GHC2021, an oversight
default-extensions: ExplicitNamespaces
build-depends:
, base >=4.12 && <5

common test-defaults
ghc-options: -threaded -rtsopts -with-rtsopts=-N
@@ -126,7 +128,6 @@ library hls-cabal-fmt-plugin
exposed-modules: Ide.Plugin.CabalFmt
hs-source-dirs: plugins/hls-cabal-fmt-plugin/src
build-depends:
, base >=4.12 && <5
, directory
, filepath
, ghcide == 2.9.0.1
@@ -146,7 +147,6 @@ test-suite hls-cabal-fmt-plugin-tests
hs-source-dirs: plugins/hls-cabal-fmt-plugin/test
main-is: Main.hs
build-depends:
, base
, directory
, filepath
, haskell-language-server:hls-cabal-plugin
@@ -185,7 +185,6 @@ library hls-cabal-gild-plugin
exposed-modules: Ide.Plugin.CabalGild
hs-source-dirs: plugins/hls-cabal-gild-plugin/src
build-depends:
, base >=4.12 && <5
, directory
, filepath
, ghcide == 2.9.0.1
@@ -204,7 +203,6 @@ test-suite hls-cabal-gild-plugin-tests
hs-source-dirs: plugins/hls-cabal-gild-plugin/test
main-is: Main.hs
build-depends:
, base
, directory
, filepath
, haskell-language-server:hls-cabal-plugin
@@ -258,7 +256,6 @@ library hls-cabal-plugin


build-depends:
, base >=4.12 && <5
, bytestring
, Cabal-syntax >= 3.7
, containers
@@ -302,7 +299,6 @@ test-suite hls-cabal-plugin-tests
Outline
Utils
build-depends:
, base
, bytestring
, Cabal-syntax >= 3.7
, extra
@@ -342,7 +338,6 @@ library hls-class-plugin
hs-source-dirs: plugins/hls-class-plugin/src
build-depends:
, aeson
, base >=4.12 && <5
, containers
, deepseq
, extra
@@ -369,7 +364,6 @@ test-suite hls-class-plugin-tests
hs-source-dirs: plugins/hls-class-plugin/test
main-is: Main.hs
build-depends:
, base
, filepath
, haskell-language-server:hls-class-plugin
, hls-test-utils == 2.9.0.1
@@ -404,7 +398,6 @@ library hls-call-hierarchy-plugin
hs-source-dirs: plugins/hls-call-hierarchy-plugin/src
build-depends:
, aeson
, base >=4.12 && <5
, containers
, extra
, ghcide == 2.9.0.1
@@ -426,7 +419,6 @@ test-suite hls-call-hierarchy-plugin-tests
main-is: Main.hs
build-depends:
, aeson
, base
, containers
, extra
, filepath
@@ -472,7 +464,6 @@ library hls-eval-plugin

build-depends:
, aeson
, base >=4.12 && <5
, bytestring
, containers
, deepseq
@@ -510,7 +501,6 @@ test-suite hls-eval-plugin-tests
ghc-options: -fno-ignore-asserts
build-depends:
, aeson
, base
, containers
, extra
, filepath
@@ -543,7 +533,6 @@ library hls-explicit-imports-plugin
hs-source-dirs: plugins/hls-explicit-imports-plugin/src
build-depends:
, aeson
, base >=4.12 && <5
, containers
, deepseq
, ghc
@@ -567,7 +556,6 @@ test-suite hls-explicit-imports-plugin-tests
hs-source-dirs: plugins/hls-explicit-imports-plugin/test
main-is: Main.hs
build-depends:
, base
, extra
, filepath
, haskell-language-server:hls-explicit-imports-plugin
@@ -597,7 +585,6 @@ library hls-rename-plugin
exposed-modules: Ide.Plugin.Rename
hs-source-dirs: plugins/hls-rename-plugin/src
build-depends:
, base >=4.12 && <5
, containers
, ghcide == 2.9.0.1
, hashable
@@ -624,7 +611,6 @@ test-suite hls-rename-plugin-tests
main-is: Main.hs
build-depends:
, aeson
, base
, containers
, filepath
, hls-plugin-api
@@ -656,7 +642,6 @@ library hls-retrie-plugin
hs-source-dirs: plugins/hls-retrie-plugin/src
build-depends:
, aeson
, base >=4.12 && <5
, bytestring
, containers
, extra
@@ -688,7 +673,6 @@ test-suite hls-retrie-plugin-tests
hs-source-dirs: plugins/hls-retrie-plugin/test
main-is: Main.hs
build-depends:
, base
, containers
, filepath
, hls-plugin-api
@@ -726,7 +710,6 @@ library hls-hlint-plugin
hs-source-dirs: plugins/hls-hlint-plugin/src
build-depends:
, aeson
, base >=4.12 && <5
, bytestring
, containers
, deepseq
@@ -774,7 +757,6 @@ test-suite hls-hlint-plugin-tests
ghc-options: -optl-Wl,-ld_classic
build-depends:
aeson
, base
, containers
, filepath
, haskell-language-server:hls-hlint-plugin
@@ -807,7 +789,6 @@ library hls-stan-plugin
exposed-modules: Ide.Plugin.Stan
hs-source-dirs: plugins/hls-stan-plugin/src
build-depends:
base
, deepseq
, hashable
, hie-compat
@@ -836,7 +817,6 @@ test-suite hls-stan-plugin-tests
hs-source-dirs: plugins/hls-stan-plugin/test
main-is: Main.hs
build-depends:
, base
, filepath
, haskell-language-server:hls-stan-plugin
, hls-plugin-api
@@ -869,7 +849,6 @@ library hls-module-name-plugin
hs-source-dirs: plugins/hls-module-name-plugin/src
build-depends:
, aeson
, base >=4.12 && <5
, containers
, filepath
, ghcide == 2.9.0.1
@@ -888,7 +867,6 @@ test-suite hls-module-name-plugin-tests
hs-source-dirs: plugins/hls-module-name-plugin/test
main-is: Main.hs
build-depends:
, base
, filepath
, haskell-language-server:hls-module-name-plugin
, hls-test-utils == 2.9.0.1
@@ -914,7 +892,6 @@ library hls-pragmas-plugin
exposed-modules: Ide.Plugin.Pragmas
hs-source-dirs: plugins/hls-pragmas-plugin/src
build-depends:
, base >=4.12 && <5
, aeson
, extra
, fuzzy
@@ -936,7 +913,6 @@ test-suite hls-pragmas-plugin-tests
main-is: Main.hs
build-depends:
, aeson
, base
, filepath
, haskell-language-server:hls-pragmas-plugin
, hls-test-utils == 2.9.0.1
@@ -969,7 +945,6 @@ library hls-splice-plugin
hs-source-dirs: plugins/hls-splice-plugin/src
build-depends:
, aeson
, base >=4.12 && <5
, extra
, foldl
, ghc
@@ -995,7 +970,6 @@ test-suite hls-splice-plugin-tests
hs-source-dirs: plugins/hls-splice-plugin/test
main-is: Main.hs
build-depends:
, base
, filepath
, haskell-language-server:hls-splice-plugin
, hls-test-utils == 2.9.0.1
@@ -1023,7 +997,6 @@ library hls-alternate-number-format-plugin
other-modules: Ide.Plugin.Literals
hs-source-dirs: plugins/hls-alternate-number-format-plugin/src
build-depends:
, base >=4.12 && < 5
, containers
, extra
, ghcide == 2.9.0.1
@@ -1052,7 +1025,6 @@ test-suite hls-alternate-number-format-plugin-tests
main-is: Main.hs
ghc-options: -fno-ignore-asserts
build-depends:
, base >=4.12 && < 5
, filepath
, haskell-language-server:hls-alternate-number-format-plugin
, hls-test-utils == 2.9.0.1
@@ -1086,7 +1058,6 @@ library hls-qualify-imported-names-plugin
exposed-modules: Ide.Plugin.QualifyImportedNames
hs-source-dirs: plugins/hls-qualify-imported-names-plugin/src
build-depends:
, base >=4.12 && <5
, containers
, ghcide == 2.9.0.1
, hls-plugin-api == 2.9.0.1
@@ -1108,7 +1079,6 @@ test-suite hls-qualify-imported-names-plugin-tests
hs-source-dirs: plugins/hls-qualify-imported-names-plugin/test
main-is: Main.hs
build-depends:
, base
, text
, filepath
, haskell-language-server:hls-qualify-imported-names-plugin
@@ -1139,7 +1109,6 @@ library hls-code-range-plugin
Ide.Plugin.CodeRange.ASTPreProcess
hs-source-dirs: plugins/hls-code-range-plugin/src
build-depends:
, base >=4.12 && <5
, containers
, deepseq
, extra
@@ -1164,7 +1133,6 @@ test-suite hls-code-range-plugin-tests
Ide.Plugin.CodeRangeTest
Ide.Plugin.CodeRange.RulesTest
build-depends:
, base
, bytestring
, filepath
, haskell-language-server:hls-code-range-plugin
@@ -1196,7 +1164,6 @@ library hls-change-type-signature-plugin
exposed-modules: Ide.Plugin.ChangeTypeSignature
hs-source-dirs: plugins/hls-change-type-signature-plugin/src
build-depends:
, base >=4.12 && < 5
, ghcide == 2.9.0.1
, hls-plugin-api == 2.9.0.1
, lsp-types
@@ -1220,7 +1187,6 @@ test-suite hls-change-type-signature-plugin-tests
hs-source-dirs: plugins/hls-change-type-signature-plugin/test
main-is: Main.hs
build-depends:
, base >=4.12 && < 5
, filepath
, haskell-language-server:hls-change-type-signature-plugin
, hls-test-utils == 2.9.0.1
@@ -1253,7 +1219,6 @@ library hls-gadt-plugin
hs-source-dirs: plugins/hls-gadt-plugin/src
build-depends:
, aeson
, base >=4.12 && <5
, containers
, extra
, ghc
@@ -1277,7 +1242,6 @@ test-suite hls-gadt-plugin-tests
hs-source-dirs: plugins/hls-gadt-plugin/test
main-is: Main.hs
build-depends:
, base
, filepath
, haskell-language-server:hls-gadt-plugin
, hls-test-utils == 2.9.0.1
@@ -1304,7 +1268,6 @@ library hls-explicit-fixity-plugin
exposed-modules: Ide.Plugin.ExplicitFixity
hs-source-dirs: plugins/hls-explicit-fixity-plugin/src
build-depends:
base >=4.12 && <5
, containers
, deepseq
, extra
@@ -1324,7 +1287,6 @@ test-suite hls-explicit-fixity-plugin-tests
hs-source-dirs: plugins/hls-explicit-fixity-plugin/test
main-is: Main.hs
build-depends:
, base
, filepath
, haskell-language-server:hls-explicit-fixity-plugin
, hls-test-utils == 2.9.0.1
@@ -1350,7 +1312,6 @@ library hls-explicit-record-fields-plugin
buildable: False
exposed-modules: Ide.Plugin.ExplicitFields
build-depends:
, base >=4.12 && <5
, ghcide == 2.9.0.1
, hls-plugin-api == 2.9.0.1
, lsp
@@ -1374,7 +1335,6 @@ test-suite hls-explicit-record-fields-plugin-tests
hs-source-dirs: plugins/hls-explicit-record-fields-plugin/test
main-is: Main.hs
build-depends:
, base
, filepath
, text
, ghcide
@@ -1401,7 +1361,6 @@ library hls-overloaded-record-dot-plugin
buildable: False
exposed-modules: Ide.Plugin.OverloadedRecordDot
build-depends:
, base >=4.16 && <5
, aeson
, ghcide
, hls-plugin-api
@@ -1423,7 +1382,6 @@ test-suite hls-overloaded-record-dot-plugin-tests
hs-source-dirs: plugins/hls-overloaded-record-dot-plugin/test
main-is: Main.hs
build-depends:
, base
, filepath
, text
, haskell-language-server:hls-overloaded-record-dot-plugin
@@ -1452,7 +1410,6 @@ library hls-floskell-plugin
exposed-modules: Ide.Plugin.Floskell
hs-source-dirs: plugins/hls-floskell-plugin/src
build-depends:
, base >=4.12 && <5
, floskell ^>=0.11.0
, ghcide == 2.9.0.1
, hls-plugin-api == 2.9.0.1
@@ -1469,7 +1426,6 @@ test-suite hls-floskell-plugin-tests
hs-source-dirs: plugins/hls-floskell-plugin/test
main-is: Main.hs
build-depends:
, base
, filepath
, haskell-language-server:hls-floskell-plugin
, hls-test-utils == 2.9.0.1
@@ -1495,7 +1451,6 @@ library hls-fourmolu-plugin
exposed-modules: Ide.Plugin.Fourmolu
hs-source-dirs: plugins/hls-fourmolu-plugin/src
build-depends:
, base >=4.12 && <5
, filepath
, fourmolu ^>= 0.14 || ^>= 0.15 || ^>= 0.16
, ghc-boot-th
@@ -1522,7 +1477,6 @@ test-suite hls-fourmolu-plugin-tests
build-tool-depends:
fourmolu:fourmolu
build-depends:
, base >=4.12 && <5
, aeson
, filepath
, haskell-language-server:hls-fourmolu-plugin
@@ -1551,7 +1505,6 @@ library hls-ormolu-plugin
exposed-modules: Ide.Plugin.Ormolu
hs-source-dirs: plugins/hls-ormolu-plugin/src
build-depends:
, base >=4.12 && <5
, extra
, filepath
, ghc-boot-th
@@ -1578,7 +1531,6 @@ test-suite hls-ormolu-plugin-tests
build-tool-depends:
ormolu:ormolu
build-depends:
, base
, aeson
, filepath
, haskell-language-server:hls-ormolu-plugin
@@ -1609,7 +1561,6 @@ library hls-stylish-haskell-plugin
exposed-modules: Ide.Plugin.StylishHaskell
hs-source-dirs: plugins/hls-stylish-haskell-plugin/src
build-depends:
, base >=4.12 && <5
, directory
, filepath
, ghc-boot-th
@@ -1629,7 +1580,6 @@ test-suite hls-stylish-haskell-plugin-tests
hs-source-dirs: plugins/hls-stylish-haskell-plugin/test
main-is: Main.hs
build-depends:
, base
, filepath
, haskell-language-server:hls-stylish-haskell-plugin
, hls-test-utils == 2.9.0.1
@@ -1680,7 +1630,6 @@ library hls-refactor-plugin
ViewPatterns
hs-source-dirs: plugins/hls-refactor-plugin/src
build-depends:
, base >=4.12 && <5
, ghc
, bytestring
, ghc-boot
@@ -1718,7 +1667,6 @@ test-suite hls-refactor-plugin-tests
other-modules: Test.AddArgument
ghc-options: -O0
build-depends:
, base
, data-default
, directory
, extra
@@ -1768,7 +1716,6 @@ library hls-semantic-tokens-plugin

hs-source-dirs: plugins/hls-semantic-tokens-plugin/src
build-depends:
, base >=4.12 && <5
, containers
, extra
, text-rope
@@ -1802,7 +1749,6 @@ test-suite hls-semantic-tokens-plugin-tests

build-depends:
, aeson
, base
, containers
, data-default
, filepath
@@ -1838,7 +1784,6 @@ library hls-notes-plugin
Ide.Plugin.Notes
hs-source-dirs: plugins/hls-notes-plugin/src
build-depends:
, base >=4.12 && <5
, array
, ghcide == 2.9.0.1
, hls-graph == 2.9.0.1
@@ -1866,7 +1811,6 @@ test-suite hls-notes-plugin-tests
hs-source-dirs: plugins/hls-notes-plugin/test
main-is: NotesTest.hs
build-depends:
, base
, filepath
, haskell-language-server:hls-notes-plugin
, hls-test-utils == 2.9.0.1
@@ -1924,7 +1868,6 @@ library
hs-source-dirs: src
build-depends:
, aeson-pretty
, base >=4.16 && <5
, data-default
, directory
, extra
@@ -1970,7 +1913,6 @@ executable haskell-language-server
ghc-options: -dynamic

build-depends:
, base >=4.16 && <5
, haskell-language-server
, hls-plugin-api
, lsp
@@ -1996,7 +1938,6 @@ executable haskell-language-server-wrapper
"-with-rtsopts=-I0 -A128M"

build-depends:
, base >=4.16 && <5
, data-default
, directory
, extra
@@ -2031,7 +1972,6 @@ test-suite func-test

build-depends:
, aeson
, base >=4.16 && <5
, bytestring
, containers
, deepseq
@@ -2083,7 +2023,6 @@ test-suite wrapper-test
haskell-language-server:haskell-language-server

build-depends:
, base >=4.16 && <5
, extra
, hls-test-utils == 2.9.0.1
, process
@@ -2108,7 +2047,6 @@ benchmark benchmark

build-depends:
, aeson
, base >=4.16 && <5
, containers
, data-default
, directory
@@ -2126,7 +2064,7 @@ benchmark benchmark


test-suite ghcide-tests
import: warnings
import: warnings, defaults
type: exitcode-stdio-1.0
default-language: GHC2021
build-tool-depends:
@@ -2136,7 +2074,6 @@ test-suite ghcide-tests

build-depends:
, aeson
, base
, containers
, data-default
, directory
@@ -2225,10 +2162,9 @@ test-suite ghcide-tests


executable ghcide-bench
default-language: GHC2021
import: defaults
build-depends:
aeson,
base,
bytestring,
containers,
data-default,
@@ -2257,7 +2193,7 @@ executable ghcide-bench
ViewPatterns

library ghcide-bench-lib
default-language: GHC2021
import: defaults
hs-source-dirs: ghcide-bench/src
ghc-options: -Wall -Wno-name-shadowing
exposed-modules:
@@ -2266,7 +2202,6 @@ library ghcide-bench-lib
build-depends:
aeson,
async,
base == 4.*,
binary,
bytestring,
deepseq,
@@ -2293,16 +2228,15 @@ library ghcide-bench-lib


test-suite ghcide-bench-test
import: defaults
type: exitcode-stdio-1.0
default-language: GHC2021
build-tool-depends:
ghcide:ghcide,
main-is: Main.hs
hs-source-dirs: ghcide-bench/test
ghc-options: -Wunused-packages
ghc-options: -threaded -Wall
build-depends:
base,
extra,
haskell-language-server:ghcide-bench-lib,
lsp-test ^>= 0.17,

Unchanged files with check annotations Beta

{-# LANGUAGE CPP #-}

Check warning on line 1 in exe/Wrapper.hs

GitHub Actions / Hlint check run

Warning in module Main: Use module export list ▫︎ Found: "module Main where" ▫︎ Perhaps: "module Main (\n module Main\n ) where" ▫︎ Note: an explicit list is usually better
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
[] -> error $ "GHC version could not be parsed: " <> version
((runTime, _):_)
| compileTime == runTime -> do
atomicModifyIORef' cradle_files (\xs -> (cfp:xs,()))

Check warning on line 626 in ghcide/session-loader/Development/IDE/Session.hs

GitHub Actions / Hlint check run

Warning in loadSessionWithOptions in module Development.IDE.Session: Use atomicModifyIORef'_ ▫︎ Found: "atomicModifyIORef' cradle_files (\\ xs -> (cfp : xs, ()))" ▫︎ Perhaps: "atomicModifyIORef'_ cradle_files ((:) cfp)"
session (hieYaml, toNormalizedFilePath' cfp, opts, libDir)
| otherwise -> return (([renderPackageSetupException cfp GhcVersionMismatch{..}], Nothing),[])
-- Failure case, either a cradle error or the none cradle
x <- map errMsgDiagnostic closure_errs
DriverHomePackagesNotClosed us <- pure x
pure us
isBad ci = (homeUnitId_ (componentDynFlags ci)) `OS.member` bad_units

Check warning on line 883 in ghcide/session-loader/Development/IDE/Session.hs

GitHub Actions / Hlint check run

Suggestion in newComponentCache in module Development.IDE.Session: Redundant bracket ▫︎ Found: "(homeUnitId_ (componentDynFlags ci)) `OS.member` bad_units" ▫︎ Perhaps: "homeUnitId_ (componentDynFlags ci) `OS.member` bad_units"
-- Whenever we spin up a session on Linux, dynamically load libm.so.6
-- in. We need this in case the binary is statically linked, in which
-- case the interactive session will fail when trying to load
{-# LANGUAGE DeriveAnyClass #-}

Check warning on line 1 in ghcide/session-loader/Development/IDE/Session/Diagnostics.hs

GitHub Actions / Hlint check run

Warning in module Development.IDE.Session.Diagnostics: Use module export list ▫︎ Found: "module Development.IDE.Session.Diagnostics where" ▫︎ Perhaps: "module Development.IDE.Session.Diagnostics (\n module Development.IDE.Session.Diagnostics\n ) where" ▫︎ Note: an explicit list is usually better
module Development.IDE.Session.Diagnostics where
import Control.Applicative
surround start s end = do
guard (listToMaybe s == Just start)
guard (listToMaybe (reverse s) == Just end)
pure $ drop 1 $ take (length s - 1) s

Check warning on line 90 in ghcide/session-loader/Development/IDE/Session/Diagnostics.hs

GitHub Actions / Hlint check run

Warning in parseMultiCradleErr in module Development.IDE.Session.Diagnostics: Use drop1 ▫︎ Found: "drop 1" ▫︎ Perhaps: "drop1"
multiCradleErrMessage :: MultiCradleErr -> [String]
multiCradleErrMessage e =
import Data.Time (UTCTime (..))
import Data.Tuple.Extra (dupe)
import Debug.Trace
import Development.IDE.Core.FileStore (resetInterfaceStore)

Check warning on line 72 in ghcide/src/Development/IDE/Core/Compile.hs

GitHub Actions / Hlint check run

Warning in module Development.IDE.Core.Compile: Use fewer imports ▫︎ Found: "import Development.IDE.Core.FileStore ( resetInterfaceStore )\nimport Development.IDE.Core.FileStore ( shareFilePath )\n" ▫︎ Perhaps: "import Development.IDE.Core.FileStore\n ( resetInterfaceStore, shareFilePath )\n"
import Development.IDE.Core.Preprocessor
import Development.IDE.Core.ProgressReporting (progressUpdate)
import Development.IDE.Core.RuleTypes
convImport (L _ i) = (
(ideclPkgQual i)

Check warning on line 987 in ghcide/src/Development/IDE/Core/Compile.hs

GitHub Actions / Hlint check run

Suggestion in getModSummaryFromImports in module Development.IDE.Core.Compile: Redundant bracket ▫︎ Found: "((ideclPkgQual i), reLoc $ ideclName i)" ▫︎ Perhaps: "(ideclPkgQual i, reLoc $ ideclName i)"
, reLoc $ ideclName i)
msrImports = implicit_imports ++ imps
Just fileDiags -> do
pure $ Just $ filter diagRangeOverlaps fileDiags
where
diagRangeOverlaps = \fileDiag ->

Check warning on line 219 in ghcide/src/Development/IDE/Core/PluginUtils.hs

GitHub Actions / Hlint check run

Warning in activeDiagnosticsInRangeMT in module Development.IDE.Core.PluginUtils: Redundant lambda ▫︎ Found: "diagRangeOverlaps\n = \\ fileDiag\n -> rangesOverlap range (fileDiag ^. fdLspDiagnosticL . LSP.range)" ▫︎ Perhaps: "diagRangeOverlaps fileDiag\n = rangesOverlap range (fileDiag ^. fdLspDiagnosticL . LSP.range)"
rangesOverlap range (fileDiag ^. fdLspDiagnosticL . LSP.range)
-- | Just like 'activeDiagnosticsInRangeMT'. See the docs of 'activeDiagnosticsInRangeMT' for details.
{ source_version = ver
, old_value = m_old
, get_file_version = use GetModificationTime_{missingFileDiagnostics = False}
, get_linkable_hashes = \fs -> map (snd . fromJust . hirCoreFp) <$> uses_ GetModIface fs

Check warning on line 788 in ghcide/src/Development/IDE/Core/Rules.hs

GitHub Actions / Hlint check run

Suggestion in getModIfaceFromDiskRule in module Development.IDE.Core.Rules: Use fmap ▫︎ Found: "\\ fs -> map (snd . fromJust . hirCoreFp) <$> uses_ GetModIface fs" ▫︎ Perhaps: "fmap (map (snd . fromJust . hirCoreFp)) . uses_ GetModIface"
, regenerate = regenerateHiFile session f ms
}
r <- loadInterface (hscEnv session) ms linkableType recompInfo
-- thus bump its modification time, forcing this rule to be rerun every time.
exists <- liftIO $ doesFileExist obj_file
mobj_time <- liftIO $
if exists

Check warning on line 1061 in ghcide/src/Development/IDE/Core/Rules.hs

GitHub Actions / Hlint check run

Warning in getLinkableRule in module Development.IDE.Core.Rules: Use whenMaybe ▫︎ Found: "if exists then Just <$> getModTime obj_file else pure Nothing" ▫︎ Perhaps: "whenMaybe exists (getModTime obj_file)"
then Just <$> getModTime obj_file
else pure Nothing
case mobj_time of
examplesPath = "bench/example"
defConfig :: Config
Success defConfig = execParserPure defaultPrefs (info configP fullDesc) []

Check warning on line 345 in ghcide-bench/src/Experiments.hs

GitHub Actions / flags (9.6, ubuntu-latest)

Pattern match(es) are non-exhaustive

Check warning on line 345 in ghcide-bench/src/Experiments.hs

GitHub Actions / test (9.6, ubuntu-latest, true)

Pattern match(es) are non-exhaustive

Check warning on line 345 in ghcide-bench/src/Experiments.hs

GitHub Actions / test (9.6, macOS-latest, false)

Pattern match(es) are non-exhaustive
quiet, verbose :: Config -> Bool
verbose = (== All) . verbosity