Skip to content

Implicit HIE handles Cabal descriptions poorly? #2012

Closed
@Ptival

Description

@Ptival

So, we have a cabal file with a field:

Description:
  <... many lines of text ending with the following lines: ...>
  blah blah blah blah blah blah blah blah blah blah and generate
  benchmark results.

When loading this in VSCode without a hie.yaml, it seems like the implicit HIE generator is a little too zealous, and considers that last line as part of the configuration. We get the following message:

[client] run command: "haskell-language-server --lsp -l /tmp/hls.log"
[client] debug command: "haskell-language-server --lsp -l /tmp/hls.log"
[client] server cwd: undefined
haskell-language-server version: 1.2.0.0 (GHC: 8.10.4) (PATH: /nix/store/984mvf5yqwp0b8s78f7316wbg8hmdfq6-haskell-language-server-exe-haskell-language-server-1.2.0.0/bin/haskell-language-server)
Starting (haskell-language-server)LSP server...
  with arguments: GhcideArguments {argsCommand = LSP, argsCwd = Nothing, argsShakeProfiling = Nothing, argsTesting = False, argsExamplePlugin = False, argsDebugOn = False, argsLogFile = Just "/tmp/hls.log", argsThreads = 0, argsProjectGhcVersion = False}
  with plugins: [PluginId "pragmas",PluginId "floskell",PluginId "fourmolu",PluginId "tactics",PluginId "ormolu",PluginId "stylish-haskell",PluginId "retrie",PluginId "brittany",PluginId "class",PluginId "haddockComments",PluginId "eval",PluginId "importLens",PluginId "refineImports",PluginId "moduleName",PluginId "hlint",PluginId "splice",PluginId "ghcide-hover-and-symbols",PluginId "ghcide-code-actions-imports-exports",PluginId "ghcide-code-actions-type-signatures",PluginId "ghcide-code-actions-bindings",PluginId "ghcide-code-actions-fill-holes",PluginId "ghcide-completions",PluginId "ghcide-type-lenses",PluginId "ghcide-core"]
  in directory: /Users/val/galois/crucible
 Starting LSP server...
If you are seeing this in a terminal, you probably should have run WITHOUT the --lsp option!
Started LSP server in 0.00s
setInitialDynFlags cradle: Cradle {cradleRootDir = "/Users/val/galois/crucible", cradleOptsProg = CradleAction: Cabal}
Output from setting up the cradle Cradle {cradleRootDir = "/Users/val/galois/crucible", cradleOptsProg = CradleAction: Cabal}
> cabal: Unknown target 'crux-llvm:bench:results.'.
> The package crux-llvm has no benchmark component 'results.'

And indeed, the package has no such benchmark components, since this was just an English sentence! 😄

Metadata

Metadata

Assignees

No one assigned

    Labels

    component: implicit-hiestatus: blockedNot actionable, because blocked by upstream/GHC etc.type: bugSomething isn't right: doesn't work as intended, documentation is missing/outdated, etc..

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions