haskell-language-server
haskell-language-server copied to clipboard
ghc-9.2 track list
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
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
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 $
@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 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.
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
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)?
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...
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.
I think you need the splice plugin before claiming 9.2 support even more than wingman.
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.
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.
Docs claim 9.2 is fully supported
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
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.
Yes, we should update that warning to talk about 9.4.
Jap https://github.com/haskell/haskell-language-server/pull/3286
Close as we have full support ghc-9.2.