Skip to content
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

Cabal cradle rebuilds hls everytime #139

Closed
Avi-D-coder opened this issue May 28, 2020 · 19 comments
Closed

Cabal cradle rebuilds hls everytime #139

Avi-D-coder opened this issue May 28, 2020 · 19 comments
Labels
component: hie-bios performance Issues about memory consumption, responsiveness, etc. status: blocked Not actionable, because blocked by upstream/GHC etc.

Comments

@Avi-D-coder
Copy link
Collaborator

Does anyone else observe cabal cradle's load triggering a recompile each time you open your editor?

Log
## Output channel: languageserver.haskell

ghcide version: 0.1.0.0 (GHC: 8.8.3) (PATH: /home/host/.cabal/store/gh
c-8.8.3/haskell-language-server-0.1.0.0-107b6bc3375668bf63c00ded092946c
1e2f768bb3b740ac8aceece360d78104d/bin/haskell-language-server)
Startin
g (haskell-language-server)LSP server...
  with arguments: Arguments {argLSP = 
True, argsCwd = Nothing, argFiles = [], argsVersion = False, argsShakeProfiling =
 Nothing, argsTesting = False, argsExamplePlugin = False, argsDebugOn = False, argsLo
gFile = Nothing, argsThreads = 0}
  with plugins: [PluginId "brittany",PluginId
 "floskell",PluginId "ghcide",PluginId "ormolu",PluginId "pragmas"]
If you are s
eeing this in a terminal, you probably should have run ghcide WITHOUT the --lsp
 option!
 
Started LSP server in 
0.00s
2020-05-27 22:01:48.00684385 [ThreadId 14] - Opened text document: file:///home/host/Public/haskell-language-server/src/Ide/Cradle.hs
Consulting the cradle for "/home/host/Public/haskell-language-server/src/Ide/Cradle.hs"
> HEAD is now at 7de3cca Fix not finding .stack or dist-newstyle
> HEAD is now at a852cff Export Cradle utilizes
> HEAD is now at 894b76c relax constraints on base and optics-core to support ghc-8.10.1
> HEAD is now at fb3859dc Remove shake scheduler, and use previous action run times as estimates to guide scheduling of short actions on a single core.
2020-05-27 22:01:50.014483058 [ThreadId 42] - Plugin.makeCodeLens (ideLogger)
> Resolving dependencies...
> Build profile: -w ghc-8.8.3 -O1
> In order, the following will be built (use -v for more details):
>  - cabal-plan-0.6.2.0 (lib) (configuration changed)
>  - hie-bios-0.5.0 (lib) (configuration changed)
>  - shake-0.19 (lib) (configuration changed)
>  - cabal-helper-1.1.0.0 (lib) (configuration changed)
>  - ghcide-0.1.0 (lib) (configuration changed)
>  - haskell-language-server-0.1.0.0 (lib) (configuration changed)
> Configuring library for cabal-plan-0.6.2.0..
> Configuring library for hie-bios-0.5.0..
> Configuring library for shake-0.19..
> Preprocessing library for shake-0.19..
> Building library for shake-0.19..
> Preprocessing library for hie-bios-0.5.0..
> Building library for hie-bios-0.5.0..
> Preprocessing library for cabal-plan-0.6.2.0..
> Building library for cabal-plan-0.6.2.0..
> Preprocessing library for shake-0.19..
> Running Haddock on library for shake-0.19..
> Warning: The documentation for the following packages are not installed. No
> links will be generated to these packages: clock-0.7.2, extra-1.7.1,
> filepattern-0.1.2, hashable-1.3.0.0, heaps-0.3.6.1, js-dgtable-0.5.2,
> js-flot-0.8.3, js-jquery-3.3.1, primitive-0.7.0.1, random-1.1,
> semigroups-0.18.5, unordered-containers-0.2.10.0, utf8-string-1.0.1.1
> Preprocessing library for cabal-plan-0.6.2.0..
> Running Haddock on library for cabal-plan-0.6.2.0..
> Warning: The documentation for the following packages are not installed. No
> links will be generated to these packages: aeson-1.4.7.1, attoparsec-0.13.2.4,
> base-compat-0.11.1, base-compat-batteries-0.11.1, base-orphans-0.8.2,
> base16-bytestring-0.1.1.6, dlist-0.8.0.8, hashable-1.3.0.0,
> integer-logarithms-1.0.3, primitive-0.7.0.1, random-1.1, scientific-0.3.6.2,
> tagged-0.8.6, th-abstraction-0.3.2.0, time-compat-1.9.3,
> unordered-containers-0.2.10.0, uuid-types-1.0.3, vector-0.12.1.2
> Preprocessing library for hie-bios-0.5.0..
> Running Haddock on library for hie-bios-0.5.0..
> Warning: The documentation for the following packages are not installed. No
> links will be generated to these packages: aeson-1.4.7.1, async-2.2.2,
> attoparsec-0.13.2.4, base-compat-0.11.1, base-compat-batteries-0.11.1,
> base-orphans-0.8.2, base16-bytestring-0.1.1.6, clock-0.7.2, conduit-1.3.2,
> conduit-extra-1.3.5, cryptohash-sha1-0.11.100.1, dlist-0.8.0.8,
> exceptions-0.10.4, extra-1.7.1, file-embed-0.0.12.0, hashable-1.3.0.0,
> hslogger-1.3.1.0, integer-logarithms-1.0.3, libyaml-0.1.2,
> mono-traversable-1.0.15.1, network-3.1.1.1, network-bsd-2.8.1.0,
> old-locale-1.0.0.7, primitive-0.7.0.1, random-1.1, resourcet-1.2.4,
> scientific-0.3.6.2, semigroups-0.18.5, split-0.2.3.4,
> streaming-commons-0.2.1.2, tagged-0.8.6, temporary-1.2.1.1,
> th-abstraction-0.3.2.0, time-compat-1.9.3, typed-process-0.2.6.0,
> unix-compat-0.5.2, unliftio-core-0.2.0.1, unordered-containers-0.2.10.0,
> uuid-types-1.0.3, vector-0.12.1.2, vector-algorithms-0.8.0.3, yaml-0.11.4.0,
> zlib-0.6.2.1
> Haddock coverage:
>  100% ( 37 / 37) in 'Cabal.Plan'
> Warning: Cabal.Plan: could not find link destinations for:
>     FromJSON parseJSON Value Parser parseJSONList FromJSONKey fromJSONKey FromJSONKeyFunction fromJSONKeyList ToJSON toJSON toEncoding Encoding toJSONList toEncodingList ToJSONKey toJSONKey ToJSONKeyFunction toJSONKeyList
> Documentation created:
> /home/host/Public/haskell-language-server/dist-newstyle/build/x86_64-linux/ghc-8.8.3/cabal-plan-0.6.2.0/doc/html/cabal-plan/index.html
> Configuring library for cabal-helper-1.1.0.0..
> 
> src/HIE/Bios/Environment.hs:5:1: warning: [-Wunused-imports]
>     The import of DynFlags, GhcLink, HscTarget
>     from module GHC is redundant
>   |
> 5 | import GHC (DynFlags(..), GhcLink(..), HscTarget(..), GhcMonad)
>   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 
> src/HIE/Bios/Ghc/Logger.hs:13:1: warning: [-Wunused-imports]
>     The import of SevError, Severity from module GHC is redundant
>    |
> 13 | import GHC (DynFlags(..), SrcSpan(..), Severity(SevError), GhcMonad)
>    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 
> src/HIE/Bios/Cradle.hs:667:25: warning: [-Wname-shadowing]
>     This binding for env shadows the existing binding
>       imported from Data.Conduit.Process at src/HIE/Bios/Cradle.hs:50:1-27
>       (and originally defined in process-1.6.8.0:System.Process.Common)
>     |
> 667 |       withHieBiosOutput env action = do
>     |                         ^^^
> Haddock coverage:
> Warning: 'Cradle' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'a' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
>   60% (  3 /  5) in 'HIE.Bios.Config'
>   Missing documentation for:
>     CradleConfig (src/HIE/Bios/Config.hs:30)
>     CradleType (src/HIE/Bios/Config.hs:42)
>   11% (  2 / 19) in 'HIE.Bios.Ghc.Gap'
>   Missing documentation for:
>     WarnFlags (src/HIE/Bios/Ghc/Gap.hs:82)
>     emptyWarnFlags (src/HIE/Bios/Ghc/Gap.hs:83)
>     makeUserStyle (src/HIE/Bios/Ghc/Gap.hs:69)
>     getModuleName (src/HIE/Bios/Ghc/Gap.hs:75)
>     getTyThing (src/HIE/Bios/Ghc/Gap.hs:91)
>     fixInfo (src/HIE/Bios/Ghc/Gap.hs:94)
>     getModSummaries (src/HIE/Bios/Ghc/Gap.hs:88)
>     mapOverIncludePaths (src/HIE/Bios/Ghc/Gap.hs:100)
>     LExpression (src/HIE/Bios/Ghc/Gap.hs:115)
>     LBinding (src/HIE/Bios/Ghc/Gap.hs:116)
>     LPattern (src/HIE/Bios/Ghc/Gap.hs:117)
>     inTypes (src/HIE/Bios/Ghc/Gap.hs:119)
>     outType (src/HIE/Bios/Ghc/Gap.hs:121)
>     mgModSummaries
>     numLoadedPlugins (src/HIE/Bios/Ghc/Gap.hs:134)
>     initializePlugins (src/HIE/Bios/Ghc/Gap.hs:142)
>     unsetLogAction (src/HIE/Bios/Ghc/Gap.hs:150)
>   17% (  1 /  6) in 'HIE.Bios.Ghc.Doc'
>   Missing documentation for:
>     showPage (src/HIE/Bios/Ghc/Doc.hs:10)
>     showOneLine (src/HIE/Bios/Ghc/Doc.hs:13)
>     getStyle (src/HIE/Bios/Ghc/Doc.hs:16)
>     styleUnqualified (src/HIE/Bios/Ghc/Doc.hs:19)
>     showDocWith (src/HIE/Bios/Ghc/Doc.hs:22)
>    0% (  0 /  5) in 'HIE.Bios.Internal.Log'
>   Missing documentation for:
>     Module header
>     logm (src/HIE/Bios/Internal/Log.hs:6)
>     debugm (src/HIE/Bios/Internal/Log.hs:9)
>     warningm (src/HIE/Bios/Internal/Log.hs:12)
>     errorm (src/HIE/Bios/Internal/Log.hs:15)
>  100% (  5 /  5) in 'HIE.Bios.Ghc.Load'
>   27% (  3 / 11) in 'HIE.Bios.Types'
>   Missing documentation for:
>     Module header
>     BIOSVerbosity (src/HIE/Bios/Types.hs:12)
>     CradleOpts (src/HIE/Bios/Types.hs:14)
>     defaultCradleOpts (src/HIE/Bios/Types.hs:20)
>     LoggingFunction (src/HIE/Bios/Types.hs:42)
>     ActionName (src/HIE/Bios/Types.hs:44)
>     CradleAction (src/HIE/Bios/Types.hs:55)
>     CradleError (src/HIE/Bios/Types.hs:76)
> Warning: 'DynFlags' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
>   25% (  1 /  4) in 'HIE.Bios.Flags'
>   Missing documentation for:
>     Module header
>     getCompilerOptionsWithLogger (src/HIE/Bios/Flags.hs:16)
>     LoggingFunction (src/HIE/Bios/Types.hs:42)
>   83% (  5 /  6) in 'HIE.Bios.Environment'
>   Missing documentation for:
>     Module header
>   70% (  7 / 10) in 'HIE.Bios.Ghc.Api'
>   Missing documentation for:
>     SuccessFlag
>     withGhcT (src/HIE/Bios/Ghc/Api.hs:54)
>     withDynFlags (src/HIE/Bios/Ghc/Api.hs:97)
>   50% (  1 /  2) in 'HIE.Bios.Ghc.Logger'
>   Missing documentation for:
>     Module header
>   67% (  2 /  3) in 'HIE.Bios.Ghc.Check'
>   Missing documentation for:
>     Module header
>    0% (  0 /  3) in 'HIE.Bios.Wrappers'
>   Missing documentation for:
>     Module header
>     cabalWrapper (src/HIE/Bios/Wrappers.hs:7)
>     cabalWrapperHs (src/HIE/Bios/Wrappers.hs:10)
>   29% (  5 / 17) in 'HIE.Bios.Cradle'
>   Missing documentation for:
>     Module header
>     loadCustomCradle (src/HIE/Bios/Cradle.hs:69)
>     isCabalCradle (src/HIE/Bios/Cradle.hs:156)
>     isStackCradle (src/HIE/Bios/Cradle.hs:161)
>     isDirectCradle (src/HIE/Bios/Cradle.hs:166)
>     isBiosCradle (src/HIE/Bios/Cradle.hs:171)
>     isNoneCradle (src/HIE/Bios/Cradle.hs:181)
>     isMultiCradle (src/HIE/Bios/Cradle.hs:176)
>     isDefaultCradle (src/HIE/Bios/Cradle.hs:186)
>     isOtherCradle (src/HIE/Bios/Cradle.hs:191)
>     getCradle (src/HIE/Bios/Cradle.hs:90)
>     makeCradleResult (src/HIE/Bios/Cradle.hs:679)
>   40% (  2 /  5) in 'HIE.Bios.Internal.Debug'
>   Missing documentation for:
>     Module header
>     configInfo (src/HIE/Bios/Internal/Debug.hs:70)
>     cradleInfo (src/HIE/Bios/Internal/Debug.hs:84)
>   94% ( 15 / 16) in 'HIE.Bios'
>   Missing documentation for:
>     CradleError (src/HIE/Bios/Types.hs:76)
> Warning: HIE.Bios.Config: could not find link destinations for:
>     FromJSON parseJSON Value Parser parseJSONList
> Warning: HIE.Bios.Cradle: could not find link destinations for:
>     FromJSON
> Documentation created:
> /home/host/Public/haskell-language-server/dist-newstyle/build/x86_64-linux/ghc-8.8.3/hie-bios-0.5.0/doc/html/hie-bios/index.html
> Preprocessing library for cabal-helper-1.1.0.0..
> Building library for cabal-helper-1.1.0.0..
> Haddock coverage:
> Warning: 'ShakeValue' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: Couldn't find .haddock for export Hashable
>   86% (  6 /  7) in 'Development.Shake.Classes'
>   Missing documentation for:
>     Hashable
>  100% ( 62 / 62) in 'Development.Shake.FilePath'
> Warning: 'command' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'cmd' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'ByteString' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'traced' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'interruptProcessGroupOf' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'terminateProcess' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'Stdout' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'Stderr' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'shakeLintInside' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: Couldn't find .haddock for export Partial
> Warning: 'normaliseEx' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'needed' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'progressDisplay' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'getShakeOptions' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'stdout' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'stderr' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'progressSimple' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'addShakeExtra' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'getShakeExtra' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'Fence' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'writeChunks' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'addPoolException' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'addPoolResume' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'addPoolStart' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'addPoolBatch' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'Fence' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'addUserRule' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'action' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'Rules' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'priority' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'alternatives' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'versioned' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'lintTrackRead' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'lintTrackWrite' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'writeFile'' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'need' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'produces' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'orderOnly' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'withResource' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'cmd' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'command' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: '-<.>' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: '%>' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'need' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'produces' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'need' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'ByteString' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
>  100% ( 38 / 38) in 'Development.Shake.Rule'
> Warning: 'newCache' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'getDirectoryFiles' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'getEnv' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'cmd_' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'neededMakefileDependencies' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'needMakefileDependencies' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'shakeArgs' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'dropExtension' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'ByteString' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: Couldn't find .haddock for export unit
>   96% ( 23 / 24) in 'Development.Shake.Command'
>   Missing documentation for:
>     unit
> Warning: 'lookupEnv' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'cmd' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'phony' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'shakeFiles' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
>  100% ( 10 / 10) in 'Development.Shake.Database'
> Warning: 'cmd' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'Binary' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'Hashable' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'NFData' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: Couldn't find .haddock for export unit
>   99% (178 /179) in 'Development.Shake'
>   Missing documentation for:
>     unit
>  100% (  7 /  7) in 'Development.Shake.Util'
>  100% (  8 /  8) in 'Development.Shake.Forward'
> Warning: '-<.>' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
>  100% (  7 /  7) in 'Development.Shake.Config'
> Warning: Development.Shake.Classes: could not find link destinations for:
>     Color Timeout StdGen Clock TimeSpec StepNext Path Pattern Flot Pat Hashed Array RB Array HashSet Heap Forest Tree HashMap Entry typeRep# Leaf MutableArray Hashable1
> Warning: Development.Shake.Rule: could not find link destinations for:
>     Partial
> Warning: Development.Shake.Command: could not find link destinations for:
>     Partial Unit cmdResult Result cmdString Str
> Warning: Development.Shake: could not find link destinations for:
>     Partial Seconds HashMap Hidden Unit cmdResult Result cmdString Str Located
> Warning: Development.Shake.Config: could not find link destinations for:
>     HashMap
> Documentation created:
> /home/host/Public/haskell-language-server/dist-newstyle/build/x86_64-linux/ghc-8.8.3/shake-0.19/doc/html/shake/index.html
> Configuring library for ghcide-0.1.0..
2020-05-27 22:02:14.631121605 [ThreadId 45] - Plugin.makeCodeLens (ideLogger)
> Preprocessing library for ghcide-0.1.0..
> Building library for ghcide-0.1.0..
> Preprocessing library for ghcide-0.1.0..
> Running Haddock on library for ghcide-0.1.0..
> Warning: The documentation for the following packages are not installed. No
> links will be generated to these packages: StateVar-1.2, adjunctions-4.4,
> aeson-1.4.7.1, ansi-terminal-0.10.3, async-2.2.2, attoparsec-0.13.2.4,
> base-compat-0.11.1, base-compat-batteries-0.11.1, base-orphans-0.8.2,
> bifunctors-5.5.7, call-stack-0.2.0, clock-0.7.2, colour-2.3.5, comonad-5.0.6,
> contravariant-1.5.2, data-default-0.7.1.1, data-default-class-0.1.2.0,
> data-default-instances-containers-0.0.1, data-default-instances-dlist-0.0.1,
> data-default-instances-old-locale-0.0.1, distributive-0.6.2, dlist-0.8.0.8,
> exceptions-0.10.4, extra-1.7.1, filepattern-0.1.2, free-5.1.3, fuzzy-0.1.0.0,
> haddock-library-1.9.0, hashable-1.3.0.0, haskell-lsp-0.22.0.0,
> haskell-lsp-types-0.22.0.0, heaps-0.3.6.1, hslogger-1.3.1.0,
> integer-logarithms-1.0.3, invariant-0.5.3, js-dgtable-0.5.2, js-flot-0.8.3,
> js-jquery-3.3.1, kan-extensions-5.2, lens-4.19.2, monoid-subclasses-1.0.1,
> network-3.1.1.1, network-bsd-2.8.1.0, network-uri-2.6.3.0, old-locale-1.0.0.7,
> opentelemetry-0.4.2, parallel-3.2.2.0, prettyprinter-1.6.1,
> prettyprinter-ansi-terminal-1.1.1.2, primes-0.2.1.0, primitive-0.7.0.1,
> profunctors-5.5.2, psqueues-0.2.7.2, random-1.1, reflection-2.1.6,
> regex-base-0.94.0.0, regex-tdfa-1.3.1.0, rope-utf16-splay-0.3.1.0,
> safe-exceptions-0.1.7.0, scientific-0.3.6.2, semigroupoids-5.3.4,
> semigroups-0.18.5, sorted-list-0.2.1.0, syb-0.7.1, tagged-0.8.6,
> temporary-1.2.1.1, th-abstraction-0.3.2.0, time-compat-1.9.3,
> transformers-base-0.4.5.2, transformers-compat-0.6.5,
> unordered-containers-0.2.10.0, utf8-string-1.0.1.1, uuid-types-1.0.3,
> vector-0.12.1.2, void-0.7.3
> 
> src/Development/IDE/GHC/Compat.hs:74:1: warning: [-Wunused-imports]
>     The import of Development.IDE.GHC.HieBin is redundant
>       except perhaps to import instances from Development.IDE.GHC.HieBin
>     To import instances alone, use: import Development.IDE.GHC.HieBin()
>    |
> 74 | import Development.IDE.GHC.HieBin (readHieFile,writeHieFile,NameCacheUpdater(..),HieFileResult(..))
>    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 
> src/Development/IDE/GHC/Compat.hs:84:1: warning: [-Wunused-imports]
>     The import of HscTypes is redundant
>       except perhaps to import instances from HscTypes
>     To import instances alone, use: import HscTypes()
>    |
> 84 | import HscTypes (srcErrorMessages)
>    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 
> src/Development/IDE/GHC/Compat.hs:86:1: warning: [-Wunused-imports]
>     The import of Development.IDE.GHC.HieAst is redundant
>       except perhaps to import instances from Development.IDE.GHC.HieAst
>     To import instances alone, use: import Development.IDE.GHC.HieAst()
>    |
> 86 | import Development.IDE.GHC.HieAst (mkHieFile)
>    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 
> src/Development/IDE/GHC/Compat.hs:90:1: warning: [-Wunused-imports]
>     The import of IfaceEnv is redundant
>       except perhaps to import instances from IfaceEnv
>     To import instances alone, use: import IfaceEnv()
>    |
> 90 | import IfaceEnv
>    | ^^^^^^^^^^^^^^^
> 
> src/Development/IDE/GHC/Compat.hs:93:1: warning: [-Wunused-imports]
>     The import of HieUtils is redundant
>       except perhaps to import instances from HieUtils
>     To import instances alone, use: import HieUtils()
>    |
> 93 | import HieUtils
>    | ^^^^^^^^^^^^^^^
> Haddock coverage:
>    0% (  0 /  2) in 'Development.IDE.Compat'
>   Missing documentation for:
>     Module header
>     getProcessID (src/Development/IDE/Compat.hs:16)
>   60% (  3 /  5) in 'Development.IDE.Core.Debouncer'
>   Missing documentation for:
>     Module header
>     registerEvent (src/Development/IDE/Core/Debouncer.hs:29)
>   15% (  2 / 13) in 'Development.IDE.Core.PositionMapping'
>   Missing documentation for:
>     Module header
>     PositionMapping (src/Development/IDE/Core/PositionMapping.hs:38)
>     fromCurrentPosition (src/Development/IDE/Core/PositionMapping.hs:30)
>     toCurrentPosition (src/Development/IDE/Core/PositionMapping.hs:33)
>     PositionDelta (src/Development/IDE/Core/PositionMapping.hs:25)
>     toCurrentRange (src/Development/IDE/Core/PositionMapping.hs:41)
>     fromCurrentRange (src/Development/IDE/Core/PositionMapping.hs:45)
>     applyChange (src/Development/IDE/Core/PositionMapping.hs:72)
>     zeroMapping (src/Development/IDE/Core/PositionMapping.hs:49)
>     toCurrent (src/Development/IDE/Core/PositionMapping.hs:79)
>     fromCurrent (src/Development/IDE/Core/PositionMapping.hs:101)
> Warning: 'CoreExpr' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
>    0% (  0 / 10) in 'Development.IDE.Spans.Common'
>   Missing documentation for:
>     Module header
>     showGhc (src/Development/IDE/Spans/Common.hs:36)
>     safeTyThingId (src/Development/IDE/Spans/Common.hs:48)
>     safeTyThingType (src/Development/IDE/Spans/Common.hs:41)
>     SpanDoc (src/Development/IDE/Spans/Common.hs:54)
>     emptySpanDoc (src/Development/IDE/Spans/Common.hs:59)
>     spanDocToMarkdown (src/Development/IDE/Spans/Common.hs:62)
>     spanDocToMarkdownForTest (src/Development/IDE/Spans/Common.hs:73)
>     DocMap (src/Development/IDE/Spans/Common.hs:34)
>     trimExcessLineBreaks (src/Development/IDE/Spans/Common.hs:77)
> Warning: Couldn't find .haddock for export Location
> Warning: Couldn't find .haddock for export Position
> Warning: Couldn't find .haddock for export Range
> Warning: Couldn't find .haddock for export Uri
> Warning: Couldn't find .haddock for export NormalizedUri
> Warning: Couldn't find .haddock for export toNormalizedUri
> Warning: Couldn't find .haddock for export fromNormalizedUri
> Warning: Couldn't find .haddock for export NormalizedFilePath
> Warning: Couldn't find .haddock for export fromNormalizedFilePath
>   15% (  3 / 20) in 'Development.IDE.Types.Location'
>   Missing documentation for:
>     Location
>     noFilePath (src/Development/IDE/Types/Location.hs:67)
>     noRange (src/Development/IDE/Types/Location.hs:71)
>     Position
>     showPosition (src/Development/IDE/Types/Location.hs:74)
>     Range
>     Uri
>     NormalizedUri
>     toNormalizedUri
>     fromNormalizedUri
>     NormalizedFilePath
>     fromUri (src/Development/IDE/Types/Location.hs:64)
>     emptyFilePath (src/Development/IDE/Types/Location.hs:44)
>     emptyPathUri (src/Development/IDE/Types/Location.hs:56)
>     toNormalizedFilePath' (src/Development/IDE/Types/Location.hs:39)
>     fromNormalizedFilePath
>     filePathToUri' (src/Development/IDE/Types/Location.hs:61)
> Warning: 'Document' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: Couldn't find .haddock for export Diagnostic
> Warning: Couldn't find .haddock for export DiagnosticSeverity
> Warning: Couldn't find .haddock for export DiagnosticStore
> Warning: Couldn't find .haddock for export List
>   17% (  2 / 12) in 'Development.IDE.Types.Diagnostics'
>   Missing documentation for:
>     Module header
>     Diagnostic
>     IdeResult (src/Development/IDE/Types/Diagnostics.hs:37)
>     DiagnosticSeverity
>     DiagnosticStore
>     List
>     ideErrorText (src/Development/IDE/Types/Diagnostics.hs:39)
>     ideErrorWithSource (src/Development/IDE/Types/Diagnostics.hs:42)
>     showDiagnostics (src/Development/IDE/Types/Diagnostics.hs:88)
>     showDiagnosticsColored (src/Development/IDE/Types/Diagnostics.hs:91)
>   50% (  1 /  2) in 'Development.IDE.LSP.Protocol'
>   Missing documentation for:
>     Module header
> Warning: 'HsEnvEq' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'hDuplicateTo' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
>   78% ( 21 / 27) in 'Development.IDE.GHC.Util'
>   Missing documentation for:
>     deps (src/Development/IDE/GHC/Util.hs:193)
>     ParseResult
>     runParser (src/Development/IDE/GHC/Util.hs:105)
>     stringBufferToByteString (src/Development/IDE/GHC/Util.hs:113)
>     setDefaultHieDir (src/Development/IDE/GHC/Compat.hs:208)
>     dontWriteHieFiles (src/Development/IDE/GHC/Compat.hs:216)
>   59% ( 13 / 22) in 'Development.IDE.GHC.Error'
>   Missing documentation for:
>     Module header
>     diagFromErrMsgs (src/Development/IDE/GHC/Error.hs:66)
>     diagFromGhcException (src/Development/IDE/GHC/Error.hs:174)
>     srcSpanToLocation (src/Development/IDE/GHC/Error.hs:109)
>     srcSpanToLocationMaybe (src/Development/IDE/GHC/Error.hs:114)
>     srcSpanToRangeMaybe (src/Development/IDE/GHC/Error.hs:94)
>     realSrcSpanToRange (src/Development/IDE/GHC/Error.hs:98)
>     realSpan (src/Development/IDE/GHC/Error.hs:154)
>     isInsideSrcSpan (src/Development/IDE/GHC/Error.hs:118)
>   23% (  5 / 22) in 'Development.IDE.Import.DependencyInformation'
>   Missing documentation for:
>     Module header
>     DependencyInformation (src/Development/IDE/Import/DependencyInformation.hs:138)
>     TransitiveDependencies (src/Development/IDE/Import/DependencyInformation.hs:366)
>     NamedModuleDep (src/Development/IDE/Import/DependencyInformation.hs:379)
>     PathIdMap (src/Development/IDE/Import/DependencyInformation.hs:80)
>     emptyPathIdMap (src/Development/IDE/Import/DependencyInformation.hs:88)
>     getPathId (src/Development/IDE/Import/DependencyInformation.hs:91)
>     lookupPathToId (src/Development/IDE/Import/DependencyInformation.hs:109)
>     insertImport (src/Development/IDE/Import/DependencyInformation.hs:103)
>     pathToId (src/Development/IDE/Import/DependencyInformation.hs:106)
>     idToPath (src/Development/IDE/Import/DependencyInformation.hs:112)
>     reachableModules (src/Development/IDE/Import/DependencyInformation.hs:162)
>     processDependencyInformation (src/Development/IDE/Import/DependencyInformation.hs:224)
>     transitiveDeps (src/Development/IDE/Import/DependencyInformation.hs:332)
>     reverseDependencies (src/Development/IDE/Import/DependencyInformation.hs:320)
>     BootIdMap (src/Development/IDE/Import/DependencyInformation.hs:118)
>     insertBootId (src/Development/IDE/Import/DependencyInformation.hs:120)
>    9% (  2 / 23) in 'Development.IDE.Core.RuleTypes'
>   Missing documentation for:
>     GetModSummary (src/Development/IDE/Core/RuleTypes.hs:232)
>     IsFileOfInterest (src/Development/IDE/Core/RuleTypes.hs:226)
>     GetModIface (src/Development/IDE/Core/RuleTypes.hs:220)
>     GetHiFile (src/Development/IDE/Core/RuleTypes.hs:214)
>     GhcSession (src/Development/IDE/Core/RuleTypes.hs:208)
>     GenerateByteCode (src/Development/IDE/Core/RuleTypes.hs:202)
>     GenerateCore (src/Development/IDE/Core/RuleTypes.hs:196)
>     GetDocMap (src/Development/IDE/Core/RuleTypes.hs:189)
>     GetRefMap (src/Development/IDE/Core/RuleTypes.hs:183)
>     GetHieFile (src/Development/IDE/Core/RuleTypes.hs:177)
>     TypeCheck (src/Development/IDE/Core/RuleTypes.hs:171)
>     GetDependencies (src/Development/IDE/Core/RuleTypes.hs:165)
>     ReportImportCycles (src/Development/IDE/Core/RuleTypes.hs:159)
>     GetModuleGraph (src/Development/IDE/Core/RuleTypes.hs:153)
>     GetDependencyInformation (src/Development/IDE/Core/RuleTypes.hs:147)
>     GetLocatedImports (src/Development/IDE/Core/RuleTypes.hs:141)
>     GetParsedModule (src/Development/IDE/Core/RuleTypes.hs:135)
>     PDocMap (src/Development/IDE/Core/RuleTypes.hs:97)
>     PRefMap (src/Development/IDE/Core/RuleTypes.hs:88)
>     HiFileResult (src/Development/IDE/Core/RuleTypes.hs:69)
>     tmrModSummary (src/Development/IDE/Core/RuleTypes.hs:66)
> Warning: 'phase' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
>   22% (  2 /  9) in 'Development.IDE.Types.Logger'
>   Missing documentation for:
>     Priority (src/Development/IDE/Types/Logger.hs:18)
>     logError (src/Development/IDE/Types/Logger.hs:37)
> 
> src/Development/IDE/Core/Compile.hs:64:1: warning: [-Wunused-imports]
>     The import of NameCache is redundant
>       except perhaps to import instances from NameCache
>     To import instances alone, use: import NameCache()
>    |
> 64 | import           NameCache
>    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
> 
> src/Development/IDE/Core/Rules.hs:35:1: warning: [-Wunused-imports]
>     The import of Data.Bifunctor is redundant
>       except perhaps to import instances from Data.Bifunctor
>     To import instances alone, use: import Data.Bifunctor()
>    |
> 35 | import Data.Bifunctor (second)
>    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 
> src/Development/IDE/Core/Rules.hs:37:1: warning: [-Wunused-imports]
>     The import of Control.Applicative is redundant
>       except perhaps to import instances from Control.Applicative
>     To import instances alone, use: import Control.Applicative()
>    |
> 37 | import Control.Applicative
>    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
> 
> src/Development/IDE/Core/Rules.hs:54:1: warning: [-Wunused-imports]
>     The qualified import of Development.IDE.Types.Logger is redundant
>       except perhaps to import instances from Development.IDE.Types.Logger
>     To import instances alone, use: import Development.IDE.Types.Logger()
>    |
> 54 | import qualified Development.IDE.Types.Logger as L
>    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>     logWarning (src/Development/IDE/Types/Logger.hs:40)
>     logInfo (src/Development/IDE/Types/Logger.hs:43)
>     logDebug (src/Development/IDE/Types/Logger.hs:46)
>     logTelemetry (src/Development/IDE/Types/Logger.hs:49)
>     noLogging (src/Development/IDE/Types/Logger.hs:53)
> Warning: 'ComponentOptions' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
>   22% (  2 /  9) in 'Development.IDE.Types.Options'
>   Missing documentation for:
>     IdeOptions (src/Development/IDE/Types/Options.hs:26)
>     IdePreprocessedSource (src/Development/IDE/Types/Options.hs:67)
>     IdeReportProgress (src/Development/IDE/Types/Options.hs:76)
>     IdeDefer (src/Development/IDE/Types/Options.hs:77)
>     clientSupportsProgress (src/Development/IDE/Types/Options.hs:79)
>     defaultIdeOptions (src/Development/IDE/Types/Options.hs:83)
>     IdeResult (src/Development/IDE/Types/Diagnostics.hs:37)
> Warning: 'v' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
>   25% ( 16 / 64) in 'Development.IDE.Core.Shake'
>   Missing documentation for:
>     shakeExtras (src/Development/IDE/Core/Shake.hs:255)
>     ShakeExtras (src/Development/IDE/Core/Shake.hs:109)
>     getShakeExtras (src/Development/IDE/Core/Shake.hs:131)
>     getShakeExtrasRules (src/Development/IDE/Core/Shake.hs:136)
>     IdeRule (src/Development/IDE/Core/Shake.hs:240)
>     IdeResult (src/Development/IDE/Types/Diagnostics.hs:37)
>     GetModificationTime (src/Development/IDE/Core/Shake.hs:1081)
>     shakeShut (src/Development/IDE/Core/Shake.hs:605)
>     shakeProfile (src/Development/IDE/Core/Shake.hs:602)
>     use (src/Development/IDE/Core/Shake.hs:729)
>     useWithStale (src/Development/IDE/Core/Shake.hs:733)
>     useNoFile (src/Development/IDE/Core/Shake.hs:798)
>     useWithStaleFast (src/Development/IDE/Core/Shake.hs:783)
>     useWithStaleFast' (src/Development/IDE/Core/Shake.hs:757)
>     FastResult (src/Development/IDE/Core/Shake.hs:755)
>     use_ (src/Development/IDE/Core/Shake.hs:801)
>     useNoFile_ (src/Development/IDE/Core/Shake.hs:804)
>     uses_ (src/Development/IDE/Core/Shake.hs:807)
>     define (src/Development/IDE/Core/Shake.hs:724)
>     defineEarlyCutoff (src/Development/IDE/Core/Shake.hs:866)
>     defineOnDisk (src/Development/IDE/Core/Shake.hs:946)
>     needOnDisk (src/Development/IDE/Core/Shake.hs:979)
>     needOnDisks (src/Development/IDE/Core/Shake.hs:984)
>     getDiagnostics (src/Development/IDE/Core/Shake.hs:693)
>     getHiddenDiagnostics (src/Development/IDE/Core/Shake.hs:698)
>     IsIdeGlobal (src/Development/IDE/Core/Shake.hs:141)
>     addIdeGlobal (src/Development/IDE/Core/Shake.hs:143)
>     addIdeGlobalExtras (src/Development/IDE/Core/Shake.hs:148)
>     getIdeGlobalState (src/Development/IDE/Core/Shake.hs:163)
>     getIdeGlobalAction (src/Development/IDE/Core/Shake.hs:160)
>     knownFiles (src/Development/IDE/Core/Shake.hs:500)
>     setPriority (src/Development/IDE/Core/Shake.hs:1064)
>     sendEvent (src/Development/IDE/Core/Shake.hs:1067)
>     ideLogger (src/Development/IDE/Core/Shake.hs:1072)
>     actionLogger (src/Development/IDE/Core/Shake.hs:1075)
>     FileVersion (src/Development/IDE/Core/Shake.hs:1090)
>     modificationTime (src/Development/IDE/Core/Shake.hs:1109)
>     Priority (src/Development/IDE/Core/Shake.hs:1062)
>     updatePositionMapping (src/Development/IDE/Core/Shake.hs:1160)
>     runAction (src/Development/IDE/Core/Shake.hs:792)
>     runActionSync (src/Development/IDE/Core/Shake.hs:795)
>     OnDiskRule (src/Development/IDE/Core/Shake.hs:930)
>     DelayedAction (src/Development/IDE/Core/Shake.hs:303)
>     mkDelayedAction (src/Development/IDE/Core/Shake.hs:317)
>     IdeAction (src/Development/IDE/Core/Shake.hs:737)
>     runIdeAction (src/Development/IDE/Core/Shake.hs:740)
>     askShake (src/Development/IDE/Core/Shake.hs:746)
>     mkUpdater (src/Development/IDE/Core/Shake.hs:749)
>  100% (  5 /  5) in 'Development.IDE.Core.OfInterest'
>   14% (  1 /  7) in 'Development.IDE.Core.IdeConfiguration'
>   Missing documentation for:
>     Module header
>     registerIdeConfiguration (src/Development/IDE/Core/IdeConfiguration.hs:32)
>     parseConfiguration (src/Development/IDE/Core/IdeConfiguration.hs:40)
>     parseWorkspaceFolder (src/Development/IDE/Core/IdeConfiguration.hs:50)
>     isWorkspaceFile (src/Development/IDE/Core/IdeConfiguration.hs:61)
>     modifyWorkspaceFolders (src/Development/IDE/Core/IdeConfiguration.hs:54)
>   50% (  5 / 10) in 'Development.IDE.Core.FileStore'
>   Missing documentation for:
>     Module header
>     getFileContents (src/Development/IDE/Core/FileStore.hs:164)
>     fileStoreRules (src/Development/IDE/Core/FileStore.hs:167)
>     makeVFSHandle (src/Development/IDE/Core/FileStore.hs:68)
>     makeLSPVFSHandle (src/Development/IDE/Core/FileStore.hs:83)
>   38% (  5 / 13) in 'Development.IDE.Core.Service'
>   Missing documentation for:
>     getIdeOptions (src/Development/IDE/Core/Service.hs:85)
>     getIdeOptionsIO (src/Development/IDE/Core/Service.hs:90)
>     runAction (src/Development/IDE/Core/Shake.hs:792)
>     runActionSync (src/Development/IDE/Core/Shake.hs:795)
>     writeProfile (src/Development/IDE/Core/Service.hs:77)
>     getDiagnostics (src/Development/IDE/Core/Shake.hs:693)
>     ideLogger (src/Development/IDE/Core/Shake.hs:1072)
>     updatePositionMapping (src/Development/IDE/Core/Shake.hs:1160)
>    0% (  0 /  3) in 'Development.IDE.LSP.Server'
>   Missing documentation for:
>     Module header
>     WithMessage (src/Development/IDE/LSP/Server.hs:19)
>     PartialHandlers (src/Development/IDE/LSP/Server.hs:38)
>   36% (  9 / 25) in 'Development.IDE.Core.Rules'
>   Missing documentation for:
>     GetDependencies (src/Development/IDE/Core/RuleTypes.hs:165)
>     GetParsedModule (src/Development/IDE/Core/RuleTypes.hs:135)
>     TransitiveDependencies (src/Development/IDE/Import/DependencyInformation.hs:366)
>     Priority (src/Development/IDE/Core/Shake.hs:1062)
>     GhcSessionIO (src/Development/IDE/Core/Rules.hs:565)
>     GhcSessionFun (src/Development/IDE/Core/Rules.hs:570)
>     priorityTypeCheck (src/Development/IDE/Core/Rules.hs:230)
>     priorityGenerateCore (src/Development/IDE/Core/Rules.hs:233)
>     priorityFilesOfInterest (src/Development/IDE/Core/Rules.hs:236)
>     runAction (src/Development/IDE/Core/Shake.hs:792)
>     useNoFileE (src/Development/IDE/Core/Rules.hs:100)
>     usesE (src/Development/IDE/Core/Rules.hs:103)
>     defineNoFile (src/Development/IDE/Core/Rules.hs:106)
>     getTypeDefinition (src/Development/IDE/Core/Rules.hs:140)
>     highlightAtPoint (src/Development/IDE/Core/Rules.hs:147)
>     generateCore (src/Development/IDE/Core/Rules.hs:539)
>   33% (  2 /  6) in 'Development.IDE.Plugin'
>   Missing documentation for:
>     Module header
>     Plugin (src/Development/IDE/Plugin.hs:16)
>     codeActionPlugin (src/Development/IDE/Plugin.hs:31)
>     codeActionPluginWithRules (src/Development/IDE/Plugin.hs:34)
>   33% (  1 /  3) in 'Development.IDE.Plugin.Completions'
>   Missing documentation for:
>     Module header
>     plugin (src/Development/IDE/Plugin/Completions.hs:37)
>   71% (  5 /  7) in 'Development.IDE.Plugin.CodeAction'
>   Missing documentation for:
>     plugin (src/Development/IDE/Plugin/CodeAction.hs:57)
>     rulePackageExports (src/Development/IDE/Plugin/CodeAction/Rules.hs:34)
>   25% (  1 /  4) in 'Development.IDE.LSP.Outline'
>   Missing documentation for:
>     Module header
>     setHandlersOutline (src/Development/IDE/LSP/Outline.hs:33)
>     moduleOutline (src/Development/IDE/LSP/Outline.hs:38)
>   22% (  2 /  9) in 'Development.IDE.LSP.HoverDefinition'
>   Missing documentation for:
>     setHandlersHover (src/Development/IDE/LSP/HoverDefinition.hs:44)
>     setHandlersDefinition (src/Development/IDE/LSP/HoverDefinition.hs:44)
>     setHandlersTypeDefinition (src/Development/IDE/LSP/HoverDefinition.hs:44)
>     setHandlersDocHighlight (src/Development/IDE/LSP/HoverDefinition.hs:44)
>     hover (src/Development/IDE/LSP/HoverDefinition.hs:29)
>     gotoDefinition (src/Development/IDE/LSP/HoverDefinition.hs:28)
>     gotoTypeDefinition (src/Development/IDE/LSP/HoverDefinition.hs:30)
> Warning: 'executeCommand' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
> Warning: 'applyWorkspaceEdit' is out of scope.
>     If you qualify the identifier, haddock can try to link it anyway.
>    0% (  0 /  2) in 'Development.IDE.LSP.LanguageServer'
>   Missing documentation for:
>     Module header
>     runLanguageServer (src/Development/IDE/LSP/LanguageServer.hs:41)
> Warning: Development.IDE.Core.Debouncer: could not find link destinations for:
>     Seconds
> Warning: Development.IDE.Core.PositionMapping: could not find link destinations for:
>     TextDocumentContentChangeEvent
> Warning: Development.IDE.Types.Location: could not find link destinations for:
>     FromJSON parseJSON Value Parser parseJSONList ToJSON toJSON toEncoding Encoding toJSONList toEncodingList FromJSONKey fromJSONKey FromJSONKeyFunction fromJSONKeyList ToJSONKey toJSONKey ToJSONKeyFunction toJSONKeyList
> Warning: Development.IDE.Types.Diagnostics: could not find link destinations for:
>     NumberOrString DiagnosticSource DiagnosticTag DiagnosticRelatedInformation FromJSON parseJSON Value Parser parseJSONList ToJSON toJSON toEncoding Encoding toJSONList toEncodingList HashMap StoreItem
> Warning: Development.IDE.LSP.Protocol: could not find link destinations for:
>     FromServerMessage
> Warning: Development.IDE.Import.DependencyInformation: could not find link destinations for:
>     FilePathIdMap ShowableModuleName FilePathIdSet ArtifactsLocation ErrorNode SuccessNode
> Warning: Development.IDE.Core.RuleTypes: could not find link destinations for:
>     RefMap
> Warning: Development.IDE.Types.Options: could not find link destinations for:
>     ClientCapabilities
> Warning: Development.IDE.Core.Shake: could not find link destinations for:
>     FromServerMessage Var HashMap Values TextDocumentVersion ShakeQueue LspId Barrier HashSet VersionedTextDocumentIdentifier TextDocumentContentChangeEvent DelayedActionX Failed Succeeded shakeDb Q A
> Warning: Development.IDE.Core.OfInterest: could not find link destinations for:
>     HashSet
> Warning: Development.IDE.Core.IdeConfiguration: could not find link destinations for:
>     HashSet InitializeParams WorkspaceFolder
> Warning: Development.IDE.Core.FileStore: could not find link destinations for:
>     VirtualFile LspFuncs
> Warning: Development.IDE.Core.Service: could not find link destinations for:
>     ClientCapabilities LspId FromServerMessage Async VersionedTextDocumentIdentifier TextDocumentContentChangeEvent
> Warning: Development.IDE.LSP.Server: could not find link destinations for:
>     ResponseMessage FromServerMessage LspFuncs ResponseError Handler RequestMessage NotificationMessage InitializeParams InitializeRequest Handlers Default def
> Warning: Development.IDE.Core.Rules: could not find link destinations for:
>     DocumentHighlight RunSimplifier
> Warning: Development.IDE.Plugin: could not find link destinations for:
>     Default def LspFuncs TextDocumentIdentifier CodeActionContext ResponseError CAResult
> Warning: Development.IDE.Plugin.Completions: could not find link destinations for:
>     LspFuncs CompletionParams ResponseError CompletionResponseResult
> Warning: Development.IDE.Plugin.CodeAction: could not find link destinations for:
>     LspFuncs TextDocumentIdentifier CodeActionContext ResponseError CAResult CodeLensParams CodeLens ExecuteCommandParams Value ServerMethod ApplyWorkspaceEditParams
> Warning: Development.IDE.LSP.Outline: could not find link destinations for:
>     LspFuncs DocumentSymbolParams ResponseError DSResult
> Warning: Development.IDE.LSP.HoverDefinition: could not find link destinations for:
>     TextDocumentPositionParams ResponseError Hover LocationResponseParams
> Warning: Development.IDE.LSP.LanguageServer: could not find link destinations for:
>     Options InitializeRequest DidChangeConfigurationNotification LspId FromServerMessage ClientCapabilities
> Documentation created:
> /home/host/Public/haskell-language-server/dist-newstyle/build/x86_64-linux/ghc-8.8.3/ghcide-0.1.0/doc/html/ghcide/index.html
> Configuring library for haskell-language-server-0.1.0.0..
> Preprocessing library for haskell-language-server-0.1.0.0..
Right (ComponentOptions {componentOptions = ["-fbuilding-cabal-package","-O0","-outputdir","/home/host/Public/haskell-language-server/dist-newstyle/build/x86_64-linux/ghc-8.8.3/haskell-language-server-0.1.0.0/build","-odir","/home/host/Public/haskell-language-server/dist-newstyle/build/x86_64-linux/ghc-8.8.3/haskell-language-server-0.1.0.0/build","-hidir","/home/host/Public/haskell-language-server/dist-newstyle/build/x86_64-linux/ghc-8.8.3/haskell-language-server-0.1.0.0/build","-stubdir","/home/host/Public/haskell-language-server/dist-newstyle/build/x86_64-linux/ghc-8.8.3/haskell-language-server-0.1.0.0/build","-i","-i/home/host/Public/haskell-language-server/dist-newstyle/build/x86_64-linux/ghc-8.8.3/haskell-language-server-0.1.0.0/build","-isrc","-i/home/host/Public/haskell-language-server/dist-newstyle/build/x86_64-linux/ghc-8.8.3/haskell-language-server-0.1.0.0/build/autogen","-i/home/host/Public/haskell-language-server/dist-newstyle/build/x86_64-linux/ghc-8.8.3/haskell-language-server-0.1.0.0/build/global-autogen","-I/home/host/Public/haskell-language-server/dist-newstyle/build/x86_64-linux/ghc-8.8.3/haskell-language-server-0.1.0.0/build/autogen","-I/home/host/Public/haskell-language-server/dist-newstyle/build/x86_64-linux/ghc-8.8.3/haskell-language-server-0.1.0.0/build/global-autogen","-I/home/host/Public/haskell-language-server/dist-newstyle/build/x86_64-linux/ghc-8.8.3/haskell-language-server-0.1.0.0/build","-optP-DAGPL","-optP-include","-optP/home/host/Public/haskell-language-server/dist-newstyle/build/x86_64-linux/ghc-8.8.3/haskell-language-server-0.1.0.0/build/autogen/cabal_macros.h","-this-unit-id","haskell-language-server-0.1.0.0-inplace","-hide-all-packages","-Wmissing-home-modules","-no-user-package-db","-package-db","/home/host/.cabal/store/ghc-8.8.3/package.db","-package-db","/home/host/Public/haskell-language-server/dist-newstyle/packagedb/ghc-8.8.3","-package-db","/home/host/Public/haskell-language-server/dist-newstyle/build/x86_64-linux/ghc-8.8.3/haskell-language-server-0.1.0.0/package.conf.inplace","-package-id","Cabal-3.0.1.0","-package-id","Diff-0.4.0-4e314448d26d403b4ccc28d4639dd5f5fb6e1afc73c60c91d4bdbc9f70874c6d","-package-id","aeson-1.4.7.1-a36ea4d4bac40608afa85bb0a572f89e457e4daa627e6c89f88ff8c2278312b7","-package-id","base-4.13.0.0","-package-id","binary-0.8.7.0","-package-id","brittany-0.12.1.1-29e4fe1f9afc1d6173479a8d83c6d69080fc77b831fa3800c36372e4bdbf1390","-package-id","bytestring-0.10.10.0","-package-id","cabal-helper-1.1.0.0-inplace","-package-id","containers-0.6.2.1","-package-id","data-default-0.7.1.1-119512cc543aa822f9e5f46d3b9176aefe725952905d89511f418596c9a94bbf","-package-id","deepseq-1.4.4.0","-package-id","directory-1.3.6.0","-package-id","extra-1.7.1-bdf65c5426bb076e604e8684a2ead115d4a42f63fb328961a55d552563cd438c","-package-id","filepath-1.4.2.1","-package-id","floskell-0.10.3-1485b09927d8803d2012f5985babb2314df1407eb8926bfdafe9f2a1806a0f3c","-package-id","ghc-8.8.3","-package-id","ghcide-0.1.0-inplace","-package-id","gitrev-1.3.1-89becc924c05f2b28ffeb429e132ac4652cf9479a9b26c32f995248957ac2ad5","-package-id","hashable-1.3.0.0-4217007f5f0bf4136fcd26e76997dc0a397c1c39e14f47ad3842fe5c875081c3","-package-id","haskell-lsp-0.22.0.0-0e023a5f8e03c00e9219d9c2e6d5971629ca6ce89c5d04ee4d901d7bd3fe4fcd","-package-id","hie-bios-0.5.0-inplace","-package-id","hslogger-1.3.1.0-9a8af3382dfa7f4b6cd3935859f3a3c43e97226ad9a53f16dd2480d1c19af199","-package-id","lens-4.19.2-33d6ce2aed25d329e7b63c57ad0f34431ef26b6048dfd4f1c04c20fff794043e","-package-id","optparse-simple-0.1.1.2-755c234cbb12f3ec0be15a1bf8a5c1c8ef0550e170e5c6e6bee31326436200cc","-package-id","ormolu-0.0.5.0-f38e374cccdc2a2e62390d0c2507ec33209ef6e273b5dfdbda3b7be16c8fb9f8","-package-id","process-1.6.8.0","-package-id","regex-tdfa-1.3.1.0-f3b0e281322d47fa183775fd655bf168a5712270d3aa004cd99f770447838e1e","-package-id","shake-0.19-inplace","-package-id","text-1.2.4.0","-package-id","transformers-0.5.6.2","-package-id","unix-2.7.2.2","-package-id","unordered-containers-0.2.10.0-dc6e10219c0a2baf381b92e75f02b1280582860e9675d123989f5554e67cf4d1","-XHaskell2010","Ide.Cradle","Ide.Logger","Ide.Plugin","Ide.Plugin.Config","Ide.Plugin.Example","Ide.Plugin.Example2","Ide.Plugin.GhcIde","Ide.Plugin.Ormolu","Ide.Plugin.Pragmas","Ide.Plugin.Floskell","Ide.Plugin.Formatter","Ide.PluginUtils","Ide.Types","Ide.Version","Ide.Plugin.Brittany","Paths_haskell_language_server","-Wall","-Wredundant-constraints","-Wno-name-shadowing","-hide-all-packages"], componentRoot = "/home/host/Public/haskell-language-server", componentDependencies = ["haskell-language-server.cabal","cabal.project","cabal.project.local"]})
"Making new HscEnv[haskell-language-server-0.1.0.0-inplace]"
(([],Just HscEnvEq 3),fromList [("cabal.project",Just 2020-05-27 23:56:24.625915086 UTC),("cabal.project.local",Nothing),("haskell-language-server.cabal",Just 2020-05-26 22:20:16.83629383 UTC)])
2020-05-27 22:02:30.089458636 [ThreadId 3015] - finish: InitialLoad (took 0.99s)
2020-05-27 22:03:
51.972902369 [ThreadId 3018] - Plugin.makeCodeLens 
(ideLogger)
@Avi-D-coder Avi-D-coder added os: linux performance Issues about memory consumption, responsiveness, etc. labels May 28, 2020
@jneira
Copy link
Member

jneira commented May 28, 2020

is the cabal hie.yaml a multi component one? If it is so this could be related with haskell/haskell-ide-engine#1735 (comment)

To check if it is cabal itself we could reproduce the internal call of hie-bios that is afaik cabal repl component to see if it rebuilds the project each time.

@Avi-D-coder
Copy link
Collaborator Author

Avi-D-coder commented May 28, 2020

The multi component hie.yaml.cbl file.
I forgot where that issue was posted, but yes I believe they are related.

I'm afraid I don't understand. I observe this insane delay every time I (re-)open a file, without restarting VS Code, let alone anything else

This is not the behavior I have.

@Avi-D-coder
Copy link
Collaborator Author

Opening the same file always results in a rebuild, where as only the first invocation of cabal repl 'lib:haskell-language-server' triggers a rebuild.

@jneira

This comment has been minimized.

@Avi-D-coder
Copy link
Collaborator Author

To clarify, tebuilds only occur when I fully exit and reopen my editor, opening and closing files doesn't trigger a rebuild.

@jneira
Copy link
Member

jneira commented May 28, 2020

Sorry, i misinterpreted the "open your editor" part 😔

@Avi-D-coder
Copy link
Collaborator Author

No worries, I think the person in linked issue was observing the behavior upon open files, not just opening the editor.

@jneira
Copy link
Member

jneira commented May 28, 2020

Ok, this time: remove .dist-newstyle, open vscode on hls, close and reopen the editor.

  • First opening:
[client] run command = "haskell-language-server-wrapper --lsp"
[client] debug command = "haskell-language-server-wrapper --lsp -d -l C:\TEMP\hls.log"
ghcide version: 0.1.0.0 (GHC: 8.10.1) (PATH: D:\bin\haskell-language-server-wrapper.exe)
ghcide version: 0.1.0.0 (GHC: 8.8.3) (PATH: D:\bin\haskell-language-server-8.8.3.exe)
Starting (haskell-language-server)LSP server...
  with arguments: Arguments {argLSP = True, argsCwd = Nothing, argFiles = [], argsVersion = False, argsShakeProfiling = Nothing, argsTesting = False, argsExamplePlugin = False, argsDebugOn = True, argsLogFile = Just "C:\\TEMP\\hls.log", argsThreads = 0}
  with plugins: [PluginId "brittany",PluginId "floskell",PluginId "ghcide",PluginId "ormolu",PluginId "pragmas"]
If you are seeing this in a terminal, you probably should have run ghcide WITHOUT the --lsp option!
 Started LSP server in 0.02s
Consulting the cradle for "D:\\dev\\ws\\haskell\\hls\\src\\Ide\\Cradle.hs"
> Cloning into 'D:\dev\ws\haskell\hls\dist-newstyle\src\cabal-plan-42253b883cc08e6b'...
> HEAD is now at 894b76c relax constraints on base and optics-core to support ghc-8.10.1
> Cloning into 'D:\dev\ws\haskell\hls\dist-newstyle\src\shake-6168bbc92ecb2931'...
> HEAD is now at fb3859dc Remove shake scheduler, and use previous action run times as estimates to guide scheduling of short actions on a single core.
> Resolving dependencies...
> Build profile: -w ghc-8.8.3 -O1
> In order, the following will be built (use -v for more details):
>  - cabal-plan-0.6.2.0 (lib) (first run)
>  - shake-0.19 (lib) (first run)
>  - cabal-helper-1.1.0.0 (lib) (requires build)
>  - ghcide-0.1.0 (lib) (first run)
>  - haskell-language-server-0.1.0.0 (lib) (first run)
> Configuring library for cabal-plan-0.6.2.0..
> Configuring library for shake-0.19..
> Preprocessing library for cabal-plan-0.6.2.0..
> Building library for cabal-plan-0.6.2.0..
> Preprocessing library for shake-0.19..
> Building library for shake-0.19..
.... Full build of local packages
> Configuring library for haskell-language-server-0.1.0.0..
> Preprocessing library for haskell-language-server-0.1.0.0..
Right (ComponentOptions {componentOptions = ["-fbuilding-cabal-package","-O0","-outputdir","D:\\dev\\ws\\haskell\\hls\\dist-newstyle\\build\\x86_64-windows\\ghc-8.8.3\\haskell-language-server-0.1.0.0\\build","-odir","D:\\dev\\ws\\haskell\\hls\\dist-newstyle\\build\\x86_64-windows\\ghc-8.8.3\\haskell-language-server-0.1.0.0\\build","-hidir","D:\\dev\\ws\\haskell\\hls\\dist-newstyle\\build\\x86_64-windows\\ghc-8.8.3\\haskell-language-server-0.1.0.0\\build","-stubdir","D:\\dev\\ws\\haskell\\hls\\dist-newstyle\\build\\x86_64-windows\\ghc-8.8.3\\haskell-language-server-0.1.0.0\\build","-i","-iD:\\dev\\ws\\haskell\\hls\\dist-newstyle\\build\\x86_64-windows\\ghc-8.8.3\\haskell-language-server-0.1.0.0\\build","-isrc","-iD:\\dev\\ws\\haskell\\hls\\dist-newstyle\\build\\x86_64-windows\\ghc-8.8.3\\haskell-language-server-0.1.0.0\\build\\autogen","-iD:\\dev\\ws\\haskell\\hls\\dist-newstyle\\build\\x86_64-windows\\ghc-8.8.3\\haskell-language-server-0.1.0.0\\build\\global-autogen","-ID:\\dev\\ws\\haskell\\hls\\dist-newstyle\\build\\x86_64-windows\\ghc-8.8.3\\haskell-language-server-0.1.0.0\\build\\autogen","-ID:\\dev\\ws\\haskell\\hls\\dist-newstyle\\build\\x86_64-windows\\ghc-8.8.3\\haskell-language-server-0.1.0.0\\build\\global-autogen","-ID:\\dev\\ws\\haskell\\hls\\dist-newstyle\\build\\x86_64-windows\\ghc-8.8.3\\haskell-language-server-0.1.0.0\\build","-optP-DAGPL","-optP-include","-optPD:\\dev\\ws\\haskell\\hls\\dist-newstyle\\build\\x86_64-windows\\ghc-8.8.3\\haskell-language-server-0.1.0.0\\build\\autogen\\cabal_macros.h","-this-unit-id","haskell-language-server-0.1.0.0-inplace","-hide-all-packages","-Wmissing-home-modules","-no-user-package-db","-package-db","C:\\sd\\ghc-8.8.3\\package.db","-package-db","D:\\dev\\ws\\haskell\\hls\\dist-newstyle\\packagedb\\ghc-8.8.3","-package-db","D:\\dev\\ws\\haskell\\hls\\dist-newstyle\\build\\x86_64-windows\\ghc-8.8.3\\haskell-language-server-0.1.0.0\\package.conf.inplace","-package-id","Cabal-3.0.1.0","-package-id","Diff-0.4.0-4a7b14dec401b5657c1efeff0000c3dea3d9993b","-package-id","Win32-2.6.1.0","-package-id","aeson-1.4.7.1-fc8398145fa0ee6fec76a607d9eb93e9f38adc8b","-package-id","base-4.13.0.0","-package-id","binary-0.8.7.0","-package-id","brittany-0.12.1.1-2cd7ccc2c18a0f5101490d64c252171e606ed3b7","-package-id","bytestring-0.10.10.0","-package-id","cabal-helper-1.1.0.0-inplace","-package-id","containers-0.6.2.1","-package-id","data-default-0.7.1.1-033226fdb10d071ccb7a11bb006186d99a023015","-package-id","deepseq-1.4.4.0","-package-id","directory-1.3.6.0","-package-id","extra-1.7.1-a83458ef88dac31e0cac223c17d25bb72a612a4f","-package-id","filepath-1.4.2.1","-package-id","floskell-0.10.3-752024a679c0d375f48d794af06c9fd8e4793f45","-package-id","ghc-8.8.3","-package-id","ghcide-0.1.0-inplace","-package-id","gitrev-1.3.1-b1edcb5d90ef595259dfaaa3133daf13af159c81","-package-id","hashable-1.3.0.0-270f4c47d6f231557da8f0cdcd265797c63e63c6","-package-id","haskell-lsp-0.22.0.0-5c6408a59f58e41858cdacfc65f34fad89862eeb","-package-id","hie-bios-0.5.0-59bcb20f59bd607b9be2c4a783e248762ffcd352","-package-id","hslogger-1.3.1.0-8dabf3b71c3b3aaa9a96a77dd1975ce0d4d016c2","-package-id","lens-4.19.2-087903fa153ad038ee06c3f82ade7b642a3cde1c","-package-id","optparse-simp_-0.1.1.2-65a32f952a7f8813da113aa37430a00e88a9325d","-package-id","ormolu-0.0.5.0-40a3083acba0b53ed7a8dc49c4bdcc50e16475f7","-package-id","process-1.6.8.0","-package-id","regex-tdfa-1.3.1.0-2a0466af0a970ab30ce13d4cb622a321a4093834","-package-id","shake-0.19-inplace","-package-id","text-1.2.4.0","-package-id","transformers-0.5.6.2","-package-id","unordered-con_-0.2.10.0-c3b82e1039056472fe4d435a46bece9e9a3085ed","-XHaskell2010","Ide.Cradle","Ide.Logger","Ide.Plugin","Ide.Plugin.Config","Ide.Plugin.Example","Ide.Plugin.Example2","Ide.Plugin.GhcIde","Ide.Plugin.Ormolu","Ide.Plugin.Pragmas","Ide.Plugin.Floskell","Ide.Plugin.Formatter","Ide.PluginUtils","Ide.Types","Ide.Version","Ide.Plugin.Brittany","Paths_haskell_language_server","-Wall","-Wredundant-constraints","-Wno-name-shadowing","-hide-all-packages"], componentRoot = "D:\\dev\\ws\\haskell\\hls", componentDependencies = ["haskell-language-server.cabal","cabal.project","cabal.project.local"]})
"Making new HscEnv[haskell-language-server-0.1.0.0-inplace]"
Error while checking GHC version: "D:\\\\bin\\\\stack\\\\x86_64-windows\\\\ghc-8.8.3\\\\lib\\bin\\ghc: readCreateProcess: does not exist (No such file or directory)"
(([],Just HscEnvEq 3),fromList [("cabal.project",Just 2020-05-25 10:45:41.4018894 UTC),("cabal.project.local",Nothing),("haskell-language-server.cabal",Just 2020-05-27 20:56:45.4356982 UTC)])
  • 2nd time:
[client] run command = "haskell-language-server-wrapper --lsp"
[client] debug command = "haskell-language-server-wrapper --lsp -d -l C:\TEMP\hls.log"
ghcide version: 0.1.0.0 (GHC: 8.10.1) (PATH: D:\bin\haskell-language-server-wrapper.exe)
ghcide version: 0.1.0.0 (GHC: 8.8.3) (PATH: D:\bin\haskell-language-server-8.8.3.exe)
Starting (haskell-language-server)LSP server...
  with arguments: Arguments {argLSP = True, argsCwd = Nothing, argFiles = [], argsVersion = False, argsShakeProfiling = Nothing, argsTesting = False, argsExamplePlugin = False, argsDebugOn = True, argsLogFile = Just "C:\\TEMP\\hls.log", argsThreads = 0}
  with plugins: [PluginId "brittany",PluginId "floskell",PluginId "ghcide",PluginId "ormolu",PluginId "pragmas"]
If you are seeing this in a terminal, you probably should have run ghcide WITHOUT the --lsp option!
 Started LSP server in 0.02s
Consulting the cradle for "D:\\dev\\ws\\haskell\\hls\\src\\Ide\\Cradle.hs"
> HEAD is now at 894b76c relax constraints on base and optics-core to support ghc-8.10.1
> HEAD is now at fb3859dc Remove shake scheduler, and use previous action run times as estimates to guide scheduling of short actions on a single core.
> Build profile: -w ghc-8.8.3 -O1
> In order, the following will be built (use -v for more details):
>  - haskell-language-server-0.1.0.0 (lib) (first run)
> Preprocessing library for haskell-language-server-0.1.0.0..
Right (ComponentOptions {componentOptions = ["-fbuilding-cabal-package","-O0","-outputdir","D:\\dev\\ws\\haskell\\hls\\dist-newstyle\\build\\x86_64-windows\\ghc-8.8.3\\haskell-language-server-0.1.0.0\\build","-odir","D:\\dev\\ws\\haskell\\hls\\dist-newstyle\\build\\x86_64-windows\\ghc-8.8.3\\haskell-language-server-0.1.0.0\\build","-hidir","D:\\dev\\ws\\haskell\\hls\\dist-newstyle\\build\\x86_64-windows\\ghc-8.8.3\\haskell-language-server-0.1.0.0\\build","-stubdir","D:\\dev\\ws\\haskell\\hls\\dist-newstyle\\build\\x86_64-windows\\ghc-8.8.3\\haskell-language-server-0.1.0.0\\build","-i","-iD:\\dev\\ws\\haskell\\hls\\dist-newstyle\\build\\x86_64-windows\\ghc-8.8.3\\haskell-language-server-0.1.0.0\\build","-isrc","-iD:\\dev\\ws\\haskell\\hls\\dist-newstyle\\build\\x86_64-windows\\ghc-8.8.3\\haskell-language-server-0.1.0.0\\build\\autogen","-iD:\\dev\\ws\\haskell\\hls\\dist-newstyle\\build\\x86_64-windows\\ghc-8.8.3\\haskell-language-server-0.1.0.0\\build\\global-autogen","-ID:\\dev\\ws\\haskell\\hls\\dist-newstyle\\build\\x86_64-windows\\ghc-8.8.3\\haskell-language-server-0.1.0.0\\build\\autogen","-ID:\\dev\\ws\\haskell\\hls\\dist-newstyle\\build\\x86_64-windows\\ghc-8.8.3\\haskell-language-server-0.1.0.0\\build\\global-autogen","-ID:\\dev\\ws\\haskell\\hls\\dist-newstyle\\build\\x86_64-windows\\ghc-8.8.3\\haskell-language-server-0.1.0.0\\build","-optP-DAGPL","-optP-include","-optPD:\\dev\\ws\\haskell\\hls\\dist-newstyle\\build\\x86_64-windows\\ghc-8.8.3\\haskell-language-server-0.1.0.0\\build\\autogen\\cabal_macros.h","-this-unit-id","haskell-language-server-0.1.0.0-inplace","-hide-all-packages","-Wmissing-home-modules","-no-user-package-db","-package-db","C:\\sd\\ghc-8.8.3\\package.db","-package-db","D:\\dev\\ws\\haskell\\hls\\dist-newstyle\\packagedb\\ghc-8.8.3","-package-db","D:\\dev\\ws\\haskell\\hls\\dist-newstyle\\build\\x86_64-windows\\ghc-8.8.3\\haskell-language-server-0.1.0.0\\package.conf.inplace","-package-id","Cabal-3.0.1.0","-package-id","Diff-0.4.0-4a7b14dec401b5657c1efeff0000c3dea3d9993b","-package-id","Win32-2.6.1.0","-package-id","aeson-1.4.7.1-fc8398145fa0ee6fec76a607d9eb93e9f38adc8b","-package-id","base-4.13.0.0","-package-id","binary-0.8.7.0","-package-id","brittany-0.12.1.1-2cd7ccc2c18a0f5101490d64c252171e606ed3b7","-package-id","bytestring-0.10.10.0","-package-id","cabal-helper-1.1.0.0-inplace","-package-id","containers-0.6.2.1","-package-id","data-default-0.7.1.1-033226fdb10d071ccb7a11bb006186d99a023015","-package-id","deepseq-1.4.4.0","-package-id","directory-1.3.6.0","-package-id","extra-1.7.1-a83458ef88dac31e0cac223c17d25bb72a612a4f","-package-id","filepath-1.4.2.1","-package-id","floskell-0.10.3-752024a679c0d375f48d794af06c9fd8e4793f45","-package-id","ghc-8.8.3","-package-id","ghcide-0.1.0-inplace","-package-id","gitrev-1.3.1-b1edcb5d90ef595259dfaaa3133daf13af159c81","-package-id","hashable-1.3.0.0-270f4c47d6f231557da8f0cdcd265797c63e63c6","-package-id","haskell-lsp-0.22.0.0-5c6408a59f58e41858cdacfc65f34fad89862eeb","-package-id","hie-bios-0.5.0-59bcb20f59bd607b9be2c4a783e248762ffcd352","-package-id","hslogger-1.3.1.0-8dabf3b71c3b3aaa9a96a77dd1975ce0d4d016c2","-package-id","lens-4.19.2-087903fa153ad038ee06c3f82ade7b642a3cde1c","-package-id","optparse-simp_-0.1.1.2-65a32f952a7f8813da113aa37430a00e88a9325d","-package-id","ormolu-0.0.5.0-40a3083acba0b53ed7a8dc49c4bdcc50e16475f7","-package-id","process-1.6.8.0","-package-id","regex-tdfa-1.3.1.0-2a0466af0a970ab30ce13d4cb622a321a4093834","-package-id","shake-0.19-inplace","-package-id","text-1.2.4.0","-package-id","transformers-0.5.6.2","-package-id","unordered-con_-0.2.10.0-c3b82e1039056472fe4d435a46bece9e9a3085ed","-XHaskell2010","Ide.Cradle","Ide.Logger","Ide.Plugin","Ide.Plugin.Config","Ide.Plugin.Example","Ide.Plugin.Example2","Ide.Plugin.GhcIde","Ide.Plugin.Ormolu","Ide.Plugin.Pragmas","Ide.Plugin.Floskell","Ide.Plugin.Formatter","Ide.PluginUtils","Ide.Types","Ide.Version","Ide.Plugin.Brittany","Paths_haskell_language_server","-Wall","-Wredundant-constraints","-Wno-name-shadowing","-hide-all-packages"], componentRoot = "D:\\dev\\ws\\haskell\\hls", componentDependencies = ["haskell-language-server.cabal","cabal.project","cabal.project.local"]})
"Making new HscEnv[haskell-language-server-0.1.0.0-inplace]"
Error while checking GHC version: "D:\\\\bin\\\\stack\\\\x86_64-windows\\\\ghc-8.8.3\\\\lib\\bin\\ghc: readCreateProcess: does not exist (No such file or directory)"
(([],Just HscEnvEq 3),fromList [("cabal.project",Just 2020-05-25 10:45:41.4018894 UTC),("cabal.project.local",Nothing),("haskell-language-server.cabal",Just 2020-05-27 20:56:45.4356982 UTC)])

So it is not being rebuilt for me

@jneira
Copy link
Member

jneira commented May 28, 2020

@Avi-D-coder Mmm, take alook to the times for the files than trigger the rebuild in your log:

(([],Just HscEnvEq 3),fromList [("cabal.project",Just 2020-05-27 23:56:24.625915086 UTC),("cabal.project.local",Nothing),("haskell-language-server.cabal",Just 2020-05-26 22:20:16.83629383 UTC)])
2020-05-27 22:02:30.089458636 [ThreadId 3015] - finish: InitialLoad (took 0.99s)

I suppose the time of the files is the last modification, if it is so, they were modified in the future!
It seems there could be some time zone issue here

@Avi-D-coder
Copy link
Collaborator Author

"Making new HscEnv[haskell-language-server-0.1.0.0-inplace]"
(([],Just HscEnvEq 3),fromList [("cabal.project",Just 2020-05-28 06:19:54.95314972 UTC),("cabal.project.local",Nothing),("haskell-language-server.cabal",Just 2020-05-28 06:19:54.966483052 UTC)])
2020-05-29 15:15:08.990585263 [ThreadId 3023] - finish: InitialLoad (took 1.00s)
2020-05-29 15:1

No such luck.

@Avi-D-coder
Copy link
Collaborator Author

Same behavior in vscode

@jneira
Copy link
Member

jneira commented Jun 12, 2020

MaybeRelated (and blocked by) with issue reported in hie-bios: haskell/hie-bios#195

@jneira jneira added status: blocked Not actionable, because blocked by upstream/GHC etc. and removed status: needs repro labels Nov 9, 2020
@jneira
Copy link
Member

jneira commented Nov 17, 2020

Upstream issue is closed by haskell/hie-bios#264 and hie-bios uses an alternative builddir for cabal.
"Only" left update ghcide to use that hie-bios version and update hls to use last ghcide

@jneira jneira added status: needs attention and removed status: blocked Not actionable, because blocked by upstream/GHC etc. labels Nov 17, 2020
pepeiborra pushed a commit that referenced this issue Dec 27, 2020
* Add find definition tests

* Add tests for hovers
@jneira
Copy link
Member

jneira commented Jan 12, 2021

There is a bug related with Path_*modules that blocked the hie-bios pr to be released, hopefully #1197 will unblock it

@fendor
Copy link
Collaborator

fendor commented Jan 12, 2021

#1197 will still rebuild the project everytime, but at least it won't interfere with cabal build invocations anymore.

@jneira
Copy link
Member

jneira commented Jan 18, 2021

@fendor why will it rebuild each time? if the hie-bios calls to cabal repl uses always the same, specific, buildir, it should reuse the build products previously generated, no? The rebuild was riggered by the fact the regular cabal build and the triggered by hie-bios have different ghc's, afaik.

@jneira
Copy link
Member

jneira commented Feb 4, 2021

The version of hie-bios with a isolate build dir will be 0.7.3, issue: haskell/hie-bios#280

@jneira jneira added the status: blocked Not actionable, because blocked by upstream/GHC etc. label Feb 4, 2021
@fendor
Copy link
Collaborator

fendor commented Feb 4, 2021

@jneira Sorry, don't know why I didn't see your response.

Indeed, once the next release is made, there should be only minimal rebuilding

@jneira
Copy link
Member

jneira commented Feb 24, 2021

This should be resolved in master and the incoming 1.0.0 release by the inclusion of a newer hie-bios version that sets a isolate build dir for cabal: haskell/hie-bios#264
//cc @Avi-D-coder @ocharles (iirc you were doing a hack involving links to avoid this)

@jneira jneira closed this as completed Feb 24, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: hie-bios performance Issues about memory consumption, responsiveness, etc. status: blocked Not actionable, because blocked by upstream/GHC etc.
Projects
None yet
Development

No branches or pull requests

3 participants