haskell-language-server icon indicating copy to clipboard operation
haskell-language-server copied to clipboard

ghc-9.2 track list

Open July541 opened this issue 2 years ago • 8 comments

Continue #2179.

Unsupported plugins

  • [ ] hls-haddock-comments-plugin
  • [x] hls-retrie-plugin: #3120
  • [ ] hls-splice-plugin: https://github.com/haskell/haskell-language-server/pull/2816
  • [ ] hls-tactics-plugin: Some discussion: https://github.com/haskell/haskell-language-server/issues/2971
  • [ ] hls-brittany-plugin

Allow-newer items(Outdated)

  • [ ] hiedb:base
  • [ ] ekg-wai:time (Can remove if https://github.com/tibbe/ekg-json/pull/12 merged)
  • [x] ekg-core (Introduced by #3049) dropped by #3085

July541 avatar Jun 22 '22 09:06 July541

For some reason hlint plugin is not available for the ghc-9.2.2 for me, I have hlint 3.4 installed.

$ haskell-language-server-9.2.2 --list-plugins 
2022-07-24T16:12:25.580959Z | Info | No log file specified; using stderr.
LSPRecorderCallback
alternateNumberFormat
callHierarchy
changeTypeSignature
class
eval
floskell
fourmolu
ghcide-code-actions-bindings
ghcide-code-actions-fill-holes
ghcide-code-actions-imports-exports
ghcide-code-actions-type-signatures
ghcide-completions
ghcide-core
ghcide-hover-and-symbols
ghcide-type-lenses
importLens
moduleName
ormolu
pragmas
qualifyImportedNames
refineImports
rename
selectionRange
stylish-haskell

While for 8.10.7, it's available:

$ haskell-language-server-8.10.7 --list-plugins  | grep hlint
2022-07-24T16:14:16.368004Z | Info | No log file specified; using stderr.
hlint
$ hlint --version
HLint v3.4.1, (C) Neil Mitchell 2006-2022

hellwolf avatar Jul 24 '22 16:07 hellwolf

I have the same issue as @hellwolf

GHC 9.2.2:

~/w/ghc922 $ ghc --version
The Glorious Glasgow Haskell Compilation System, version 9.2.2
~/w/ghc922 $ hlint --version
HLint v3.4, (C) Neil Mitchell 2006-2022
~/w/ghc922 $ haskell-language-server --version
haskell-language-server version: 1.7.0.0 (GHC: 9.2.2) (PATH: /nix/store/8a6bjmk2wksw5lkrkpbw2vvfvblpsqy0-haskell-language-server-1.7.0.0/bin/haskell-language-server)
~/w/ghc922 $ haskell-language-server --list-plugins | rg hlint
~/w/ghc922 $

GHC 9.2.3:

~/w/ghc923 $ ghc --version
The Glorious Glasgow Haskell Compilation System, version 9.2.3
~/w/ghc923 $ hlint --version
HLint v3.4.1, (C) Neil Mitchell 2006-2022
~/w/ghc923 $ haskell-language-server --version
haskell-language-server version: 1.7.0.0 (GHC: 9.2.3) (PATH: /nix/store/jz44bicm5qd7rkgr9xkyp99ma56jiac8-haskell-language-server-1.7.0.0/bin/haskell-language-server)
~/w/ghc923 $ haskell-language-server --list-plugins | rg hlint
~/w/ghc923 $

pwm avatar Jul 25 '22 10:07 pwm

@hellwolf @pwm Thank you for your report.

HLS shipped with hlint internally and not rely on user installed hlint.

hls-1.7 doesn't support hlint plugin on ghc-9.0 and ghc-9.2. If you are eager to be equipped with hlint, please consider installing hls from the source code by reference https://haskell-language-server.readthedocs.io/en/latest/installation.html#ghcup and https://github.com/haskell/haskell-language-server/issues/2985.

July541 avatar Jul 29 '22 10:07 July541

@July541 oh, thanks for the insights. But somehow hlint would give more linting error than the internal hlint for some reason? My ".hlint.yaml" is fairly empty.

hellwolf avatar Jul 29 '22 15:07 hellwolf

But somehow hlint would give more linting error than the internal hlint for some reason? My ".hlint.yaml" is fairly empty.

Not sure about that, but hls will ignore all hint with Ignore severity, please feel free to raise an issue if you found something unnormal :)

https://github.com/haskell/haskell-language-server/blob/dc682ba118783be5e0770fd76ac93a0ee2012bd2/plugins/hls-hlint-plugin/src/Ide/Plugin/Hlint.hs#L217-L221

July541 avatar Jul 29 '22 17:07 July541

How are we doing with GHC-9.2.4? ;-)

And I'd like to ask about

  • plans to progress from "limited" to "full" support for GHC-9.2.x?
  • plans to support GHC-9.4.x, which will probably hit release in not-too-distant future (while it's in Alpha, it's probably not that important)?

mouse07410 avatar Aug 07 '22 16:08 mouse07410

How are we doing with GHC-9.2.4? ;-)

I'll try to do this.

plans to support GHC-9.4.x, which will probably hit release in not-too-distant future (while it's in Alpha, it's probably not that important)?

We have a working thread https://github.com/haskell/haskell-language-server/pull/2994, but not a clear plan I think. https://github.com/haskell/haskell-language-server/discussions/2700#discussioncomment-2136672 hopes we have an initially release before this summer, it doesn't seem to have come true...

July541 avatar Aug 10 '22 05:08 July541

plans to progress from "limited" to "full" support for GHC-9.2.x?

Fully supporting ghc-9.2 is not easy, especially since some plugins lack maintenance and need much work to migrate to ghc-9.2. Personally, I think we can announce a "morally" fully support instead of "perfect" fully support after wingman supported ghc-9.2.

July541 avatar Aug 10 '22 05:08 July541

I think you need the splice plugin before claiming 9.2 support even more than wingman.

ParetoOptimalDev avatar Oct 12 '22 18:10 ParetoOptimalDev

The splice plugin is currently tier 3 because it is not maintained well enough for us to reliably update it for new versions. So it's effectively outside what we consider "full" support until someone steps up to maintain it more consistently.

michaelpj avatar Oct 13 '22 10:10 michaelpj

That is unfortunate.

The last 5 professional codebases I worked on used at least some template Haskell.

I don't think I'll be able to maintain it, but will try getting the PR for it that's open building locally and poke around.

ParetoOptimalDev avatar Oct 13 '22 15:10 ParetoOptimalDev

Docs claim 9.2 is fully supported

image

But this warning says otherwise, and refers to this ticket which is open:

https://github.com/haskell/haskell-language-server/blob/ea10ba820cf58d2dcb1f194f2d79cd1b47cc97ef/ghcide/src/Development/IDE/Main.hs#L176-L177

andys8 avatar Oct 13 '22 16:10 andys8

The last 5 professional codebases I worked on used at least some template Haskell.

The splice plugin does not provide support for template haskell. It only allows evaluating them in-situ, which is hardly essential functionality.

But this warning says otherwise, and refers to this ticket which is open:

Yes, we should update that warning to talk about 9.4.

michaelpj avatar Oct 13 '22 17:10 michaelpj

Yes, we should update that warning to talk about 9.4.

Jap https://github.com/haskell/haskell-language-server/pull/3286

andys8 avatar Oct 13 '22 17:10 andys8

Close as we have full support ghc-9.2.

July541 avatar Mar 30 '23 16:03 July541