haskell-language-server/ChangeLog.md

381 lines
15 KiB
Markdown
Raw Normal View History

2020-05-03 17:51:45 +03:00
# Changelog for haskell-language-server
## 0.4.0
0.4.0 introduces the import lens plugin, which can convert your import statements into qualified imports, or into an explicit import list:
![Imports code lens](https://imgur.com/pX9kvY4.gif)
The eval plugin has also learnt two new commands, `:type` and `:kind`:
```haskell
{-# LANGUAGE TypeApplications #-}
foo :: Show a => a -> String
foo = show
-- >>> :type foo @Int
-- foo @Int :: Int -> String
-- >>> :type +v foo @Int
-- foo @Int :: Show Int => Int -> String
```
```haskell
-- >>> type N = 1
-- >>> type M = 40
-- >>> :kind N + M + 1
-- N + M + 1 :: Nat
-- >>> type N = 1
-- >>> type M = 40
-- >>> :kind N + M + 1
-- N + M + 1 :: Nat
```
There is now also support for GHC 8.10.2, and a new `haskell-language-server --probe-tools` command to help debug what version of each tool HLS is using.
```
$ haskell-language-server --probe-tools
haskell-language-server version: 0.3.0.0 (GHC: 8.10.1) (PATH: /Users/luke/.cabal/store/ghc-8.10.1/hskll-lngg-srvr-0.3.0.0-7c6d48c3/bin/haskell-language-server)
Tool versions found on the $PATH
cabal: 3.2.0.0
stack: 2.3.3
ghc: 8.10.2
```
### Pull requests merged
- Bring over https://github.com/pepeiborra/hls-tutorial
([#372](https://github.com/haskell/haskell-language-server/pull/372) by @bubba)
- Update the ghcide upstream to be in haskell/ghcide
([#370](https://github.com/haskell/haskell-language-server/pull/370) by @alanz)
- Add ISSUE_TEMPLATE for github
([#305](https://github.com/haskell/haskell-language-server/pull/305) by @fendor)
- Add use-package to the list of emacs packages
([#343](https://github.com/haskell/haskell-language-server/pull/343) by @rgleichman)
- Implements `:type [+v/+d]` in Eval Plugin
([#361](https://github.com/haskell/haskell-language-server/pull/361) by @konn)
- Bump bounds of hie-bios to 0.7.0
([#357](https://github.com/haskell/haskell-language-server/pull/357) by @maralorn)
- Fix ImportLens plugin to work with GHC 8.10
([#356](https://github.com/haskell/haskell-language-server/pull/356) by @Ailrun)
- Add single file rewrites and ignore unknown files
([#321](https://github.com/haskell/haskell-language-server/pull/321) by @pepeiborra)
- Do not suggest explicit import lists for qualified imports
([#354](https://github.com/haskell/haskell-language-server/pull/354) by @expipiplus1)
- Explicit imports lens (as seen on Twitter)
([#310](https://github.com/haskell/haskell-language-server/pull/310) by @pepeiborra)
- Adds `:kind` and `:kind!` commands to Eval Plugin
([#345](https://github.com/haskell/haskell-language-server/pull/345) by @konn)
- tech(nix): update niv and remove allowbroken
([#350](https://github.com/haskell/haskell-language-server/pull/350) by @willbush)
- Update VS Code Haskell URL/repo
([#338](https://github.com/haskell/haskell-language-server/pull/338) by @Sir4ur0n)
- doc(hack): Add explanation to hack and test HLS
([#329](https://github.com/haskell/haskell-language-server/pull/329) by @Sir4ur0n)
- Apply the module pragmas for evaluation
([#322](https://github.com/haskell/haskell-language-server/pull/322) by @pepeiborra)
- Copy working stack-8.6.5.yaml to stack.yaml
([#332](https://github.com/haskell/haskell-language-server/pull/332) by @jneira)
- tech(nix): Allow broken as retrie is marked as broken
([#331](https://github.com/haskell/haskell-language-server/pull/331) by @Sir4ur0n)
- feat(git): Add install/hie.yaml to gitignore
([#328](https://github.com/haskell/haskell-language-server/pull/328) by @Sir4ur0n)
- Replace wrong occurrences of "engine" by "server"
([#319](https://github.com/haskell/haskell-language-server/pull/319) by @tchoutri)
- Simplify coc.nvim instructions
([#315](https://github.com/haskell/haskell-language-server/pull/315) by @oblitum)
- Coc config file requires a {} nesting everything
([#317](https://github.com/haskell/haskell-language-server/pull/317) by @hyiltiz)
- Restrict opentelemetry version for stack builds
([#312](https://github.com/haskell/haskell-language-server/pull/312) by @jneira)
- Add support for ghc-8.10.2
([#308](https://github.com/haskell/haskell-language-server/pull/308) by @jneira)
- Return nothing if tool is not on the PATH
([#309](https://github.com/haskell/haskell-language-server/pull/309) by @fendor)
- Probe tools cli
([#306](https://github.com/haskell/haskell-language-server/pull/306) by @fendor)
- Add fourmolu plugin (attempt 2) and add Brittany for ghc-8.10.1
([#264](https://github.com/haskell/haskell-language-server/pull/264) by @georgefst)
2020-08-09 20:48:34 +03:00
## 0.3.0
0.3.0 comes with two new plugins, retrie and fourmolu, provides binaries for
GHC 8.8.4, and comes with a host of bug fixes.
The retrie plugin supports RULES, functions and type synonyms which can be
accessed through contextual code actions.
2020-08-10 00:24:27 +03:00
Fourmolu can be used to format your code by setting the
2020-08-09 20:48:34 +03:00
`haskell.formattingProvider` field in your LSP configuration to
```json
{
"haskell": {
"formattingProvider": "fourmolu"
}
}
```
The Brittany formatter is now also available on GHC 8.10.1.
### Pull requests merged
- Fix haddock parse error in install.hs
([#255](https://github.com/haskell/haskell-language-server/pull/255) by @georgefst)
- Ormolu flags
([#246](https://github.com/haskell/haskell-language-server/pull/246) by @pepeiborra)
- Ormolu fix
([#257](https://github.com/haskell/haskell-language-server/pull/257) by @sureyeaah)
- Remove redundant CircleCI steps
([#259](https://github.com/haskell/haskell-language-server/pull/259) by @bubba)
- Slow down Tasty by limiting it to -j1
([#261](https://github.com/haskell/haskell-language-server/pull/261) by @bubba)
- Remove hspec-expectations
([#260](https://github.com/haskell/haskell-language-server/pull/260) by @bubba)
- Remove a redundant caching step
([#262](https://github.com/haskell/haskell-language-server/pull/262) by @Ailrun)
- add hie.yaml to coc configuration
([#267](https://github.com/haskell/haskell-language-server/pull/267) by @sureyeaah)
- Initial Retrie plugin
([#266](https://github.com/haskell/haskell-language-server/pull/266) by @pepeiborra)
- Add exe extension to win executables
([#284](https://github.com/haskell/haskell-language-server/pull/284) by @jneira)
- Use wz1000/hls-3 ghcide branch
([#275](https://github.com/haskell/haskell-language-server/pull/275) by @alanz)
- Fix rename capability being declared
([#285](https://github.com/haskell/haskell-language-server/pull/285) by @bubba)
- Add CI job for 8.8.4
([#287](https://github.com/haskell/haskell-language-server/pull/287) by @bubba)
- Make the AGPL flag manual in cabal
([#250](https://github.com/haskell/haskell-language-server/pull/250) by @fendor)
- Bring in doc URL fix for Windows
([#289](https://github.com/haskell/haskell-language-server/pull/289) by @bubba)
- Bring in fix for libm on Linux static binaries
([#293](https://github.com/haskell/haskell-language-server/pull/293) by @bubba)
- Add fourmolu plugin (attempt 2) and add Brittany for ghc-8.10.1
([#264](https://github.com/haskell/haskell-language-server/pull/264) by @georgefst)
- Trying new hls-3 branch
([#300](https://github.com/haskell/haskell-language-server/pull/300) by @alanz)
2020-07-23 18:37:18 +03:00
## 0.2.2
This changes the configuration section from "languageServerHaskell" to "haskell"
2020-07-28 18:56:18 +03:00
to align it with vscode-haskell-1.0.0. Whilst the old section is still
supported for now, you should update your LSP configuration (which varies per
client) from
2020-07-23 18:37:18 +03:00
```json
{
"languageServerHaskell": {
"formattingProvider": "stylish-haskell"
}
}
```
to
```json
{
"haskell": {
"formattingProvider": "stylish-haskell"
}
}
```
### Pull requests merged
- Mention docs on hover feature in README
([#209](https://github.com/haskell/haskell-language-server/pull/209) by @georgefst)
- Add static binaries for ghc-8.8.4
([#224](https://github.com/haskell/haskell-language-server/pull/224) by @bubba)
- Rename the configuration section from languageServerHaskell => haskell
([#227](https://github.com/haskell/haskell-language-server/pull/227) by @bubba)
2020-07-28 18:56:18 +03:00
- Use -haddock for cabal and stack
([#214](https://github.com/haskell/haskell-language-server/pull/214) by @jneira)
- slightly better shell.nix for local development
([#235](https://github.com/haskell/haskell-language-server/pull/235) by @pepeiborra)
- Shell nix further steps
([#240](https://github.com/haskell/haskell-language-server/pull/240) by @pepeiborra)
- Add numeric-version option for wrapper and server
([#241](https://github.com/haskell/haskell-language-server/pull/241) by @fendor)
- Accept the legacy "languageServerHaskell" config name
([#243](https://github.com/haskell/haskell-language-server/pull/243) by @bubba)
- Fix for Eval plugin: Error from tests not reported
([#244](https://github.com/haskell/haskell-language-server/pull/244) by @tittoassini)
- Rename binaries before uploading
([#248](https://github.com/haskell/haskell-language-server/pull/248) by @bubba)
2020-07-23 18:37:18 +03:00
2020-07-22 16:55:51 +03:00
## 0.2.1
This release includes a new eval plugin that allows Haddock code examples to be
evaluated through a code lens. For example, the code below will now offer to
evaluate `intercalate " " example`, and will insert the output in the line
below.
```haskell
example :: [String]
example = ["This is an example", "of", "interactive", "evaluation"]
-- >>> intercalate " " example
-- "This is an example of interactive evaluation"
--
```
This is also the first release to have binaries distributed alongside it. Some
behind the scene changes include the GHC library directory now being obtained on
the fly, so either `ghc`, `cabal` or `stack` will need to be present on your
PATH depending on your project. See `docs/releases.md` for more information. If
you find any issues with this, please let us know!
### Pull requests merged
- Bump ormolu to 0.1.2.0
([#189](https://github.com/haskell/haskell-language-server/pull/189) by @AlistairB)
- Remove dependency on Cabal
([#195](https://github.com/haskell/haskell-language-server/pull/195) by @bubba)
- Fix extraneous extra-dep in stack-8.6.4.yaml
([#199](https://github.com/haskell/haskell-language-server/pull/199) by @bubba)
- Fix install script stack targets
([#203](https://github.com/haskell/haskell-language-server/pull/203) by @jneira)
- Add support for ghc-8.8.4
([#206](https://github.com/haskell/haskell-language-server/pull/206) by @jneira)
- Simple Eval plugin
([#191](https://github.com/haskell/haskell-language-server/pull/191) by @pepeiborra)
- Distributable binaries
([#165](https://github.com/haskell/haskell-language-server/pull/165) by @bubba)
2020-07-05 23:39:59 +03:00
## 0.2
- Use cabal-plan from Hackage
2020-07-06 00:46:58 +03:00
([#185](https://github.com/haskell/haskell-language-server/pull/185) by @georgefst)
2020-07-05 23:39:59 +03:00
- Bump ghcide to wz1000 hls-2 branch
2020-07-06 00:46:58 +03:00
([#184](https://github.com/haskell/haskell-language-server/pull/184) by @alanz)
2020-07-05 23:39:59 +03:00
- doc(preprocessor): Document the preprocessor limitation
2020-07-06 00:46:58 +03:00
([#177](https://github.com/haskell/haskell-language-server/pull/177) by @Sir4ur0n)
2020-07-05 23:39:59 +03:00
- Use shell.nix from Haskell-IDE-Engine
2020-07-06 00:46:58 +03:00
([#169](https://github.com/haskell/haskell-language-server/pull/169) by @fendor)
2020-07-05 23:39:59 +03:00
- Remove last occurrences of shake.yaml
2020-07-06 00:46:58 +03:00
([#163](https://github.com/haskell/haskell-language-server/pull/163) by @fendor)
2020-07-05 23:39:59 +03:00
- Use an unique install/stack.yaml
2020-07-06 00:46:58 +03:00
([#154](https://github.com/haskell/haskell-language-server/pull/154) by @jneira)
2020-07-05 23:39:59 +03:00
- Introduce golden testing
2020-07-06 00:46:58 +03:00
([#152](https://github.com/haskell/haskell-language-server/pull/152) by @Ailrun)
2020-07-05 23:39:59 +03:00
- Revert "Use bullet as separator instead of HR"
2020-07-06 00:46:58 +03:00
([#150](https://github.com/haskell/haskell-language-server/pull/150) by @alanz)
2020-07-05 23:39:59 +03:00
- feat(hie-bios): Multi-cradle, ignore directories
2020-07-06 00:46:58 +03:00
([#147](https://github.com/haskell/haskell-language-server/pull/147) by @Sir4ur0n)
2020-07-05 23:39:59 +03:00
- [Plugin] stylish-haskell formatter
2020-07-06 00:46:58 +03:00
([#146](https://github.com/haskell/haskell-language-server/pull/146) by @Ailrun)
2020-07-05 23:39:59 +03:00
- Separate ghcide tests and disable them for now
2020-07-06 00:46:58 +03:00
([#137](https://github.com/haskell/haskell-language-server/pull/137) by @jneira)
2020-07-05 23:39:59 +03:00
- Convert private lib in common stanza
2020-07-06 00:46:58 +03:00
([#136](https://github.com/haskell/haskell-language-server/pull/136) by @jneira)
2020-07-05 23:39:59 +03:00
- Add zlibc to readme
2020-07-06 00:46:58 +03:00
([#134](https://github.com/haskell/haskell-language-server/pull/134) by @Sir4ur0n)
2020-07-05 23:39:59 +03:00
- Complete editor integrations
2020-07-06 00:46:58 +03:00
([#132](https://github.com/haskell/haskell-language-server/pull/132) by @jneira)
2020-07-05 23:39:59 +03:00
- Remove inexistent component from hie.yaml.stack
2020-07-06 00:46:58 +03:00
([#131](https://github.com/haskell/haskell-language-server/pull/131) by @jneira)
2020-07-05 23:39:59 +03:00
- Bump to new mpickering/ghcide
2020-07-06 00:46:58 +03:00
([#130](https://github.com/haskell/haskell-language-server/pull/130) by @alanz)
2020-07-05 23:39:59 +03:00
- Update ghc-lib-parser version
2020-07-06 00:46:58 +03:00
([#129](https://github.com/haskell/haskell-language-server/pull/129) by @jneira)
2020-07-05 23:39:59 +03:00
- Remove redundant import
2020-07-06 00:46:58 +03:00
([#128](https://github.com/haskell/haskell-language-server/pull/128) by @bubba)
2020-07-05 23:39:59 +03:00
- Default the number of Shake threads to 0 (automatic)
2020-07-06 00:46:58 +03:00
([#127](https://github.com/haskell/haskell-language-server/pull/127) by @bubba)
2020-07-05 23:39:59 +03:00
- Added kakoune integration instructions
2020-07-06 00:46:58 +03:00
([#125](https://github.com/haskell/haskell-language-server/pull/125) by @414owen)
2020-07-05 23:39:59 +03:00
- Fix install script dev target
2020-07-06 00:46:58 +03:00
([#124](https://github.com/haskell/haskell-language-server/pull/124) by @jneira)
2020-07-05 23:39:59 +03:00
- Add plugin support for Rename providers
2020-07-06 00:46:58 +03:00
([#123](https://github.com/haskell/haskell-language-server/pull/123) by @pepeiborra)
2020-07-05 23:39:59 +03:00
- Add jobs for stack and cabal using ghc-8.10.1
2020-07-06 00:46:58 +03:00
([#120](https://github.com/haskell/haskell-language-server/pull/120) by @jneira)
2020-07-05 23:39:59 +03:00
- Add lower bound to tasty-ant-xml
2020-07-06 00:46:58 +03:00
([#119](https://github.com/haskell/haskell-language-server/pull/119) by @jneira)
2020-07-05 23:39:59 +03:00
- Fix build using brittany revision
2020-07-06 00:46:58 +03:00
([#117](https://github.com/haskell/haskell-language-server/pull/117) by @jneira)
2020-07-05 23:39:59 +03:00
- Use floskell released version 0.10.3
2020-07-06 00:46:58 +03:00
([#116](https://github.com/haskell/haskell-language-server/pull/116) by @jneira)
2020-07-05 23:39:59 +03:00
- Add emacs/doom-emacs integration sub-section
2020-07-06 00:46:58 +03:00
([#115](https://github.com/haskell/haskell-language-server/pull/115) by @yuanw)
2020-07-05 23:39:59 +03:00
- Port hie README partially
2020-07-06 00:46:58 +03:00
([#112](https://github.com/haskell/haskell-language-server/pull/112) by @jneira)
2020-07-05 23:39:59 +03:00
- Use cabal-helper-1.1, add stack-8.10.1.yaml and unify cabal.project's
2020-07-06 00:46:58 +03:00
([#108](https://github.com/haskell/haskell-language-server/pull/108) by @jneira)
2020-07-05 23:39:59 +03:00
- [#87] Fix completion via ghcide's `getCompletionsLSP`
2020-07-06 00:46:58 +03:00
([#107](https://github.com/haskell/haskell-language-server/pull/107) by @korayal)
2020-07-05 23:39:59 +03:00
- Create specific project file for ghc-8.10.
2020-07-06 00:46:58 +03:00
([#106](https://github.com/haskell/haskell-language-server/pull/106) by @jneira)
2020-07-05 23:39:59 +03:00
- Issue 5 - Move HIE Tests and convert to Tasty
2020-07-06 00:46:58 +03:00
([#105](https://github.com/haskell/haskell-language-server/pull/105) by @jeffwindsor)
2020-07-05 23:39:59 +03:00
- Hls update latest hie bios
2020-07-06 00:46:58 +03:00
([#100](https://github.com/haskell/haskell-language-server/pull/100) by @fendor)
2020-07-05 23:39:59 +03:00
- Update extra-deps to use latest fork version of shake
2020-07-06 00:46:58 +03:00
([#98](https://github.com/haskell/haskell-language-server/pull/98) by @fendor)
2020-07-05 23:39:59 +03:00
- Activate typechecking in non-lsp mode
2020-07-06 00:46:58 +03:00
([#95](https://github.com/haskell/haskell-language-server/pull/95) by @jneira)
2020-07-05 23:39:59 +03:00
- Fix haddock parsing errors
2020-07-06 00:46:58 +03:00
([#92](https://github.com/haskell/haskell-language-server/pull/92) by @jneira)
2020-07-05 23:39:59 +03:00
- Update for haskell-lsp 0.22
2020-07-06 00:46:58 +03:00
([#89](https://github.com/haskell/haskell-language-server/pull/89) by @alanz)
2020-07-05 23:39:59 +03:00
- Get building with ghc-8.10
2020-07-06 00:46:58 +03:00
([#83](https://github.com/haskell/haskell-language-server/pull/83) by @bubba)
2020-07-05 23:39:59 +03:00
## 0.1
2020-01-25 17:33:53 +03:00
2020-05-03 17:51:45 +03:00
### In this version
- cabal to 2020-05-02T10:11:15Z
- stack-8.8.3 to lts-15.10
- stack to nightly-2020-05-01
2020-05-03 17:51:45 +03:00
### Changes
This is the initial version, so too many to list individually.
The key point is that is now supports multi-component cradles, and has been in
daily use by the developers for some time.
It still does not have feature parity with `haskell-ide-engine`, but it is
currently useful.