From f06b819e06914083e1d8643cff67c7b0e6ddb8b6 Mon Sep 17 00:00:00 2001 From: jneira Date: Tue, 25 Jan 2022 22:39:41 +0100 Subject: [PATCH 01/38] Add list of merged prs --- ChangeLog.md | 257 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 257 insertions(+) diff --git a/ChangeLog.md b/ChangeLog.md index 84c737e0ea..6600eb47ff 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,5 +1,262 @@ # Changelog for haskell-language-server +## 1.6.0 + +### Pull requests merged for 1.6.0 + +- Disable alpine build by default +([#2638](https://github.com/haskell/haskell-language-server/pull/2638)) by @jneira +- Specialize ghcide indent style to .hs +([#2631](https://github.com/haskell/haskell-language-server/pull/2631)) by @mrgutkun +- Fix off by one indexing error in openingBacktick +([#2629](https://github.com/haskell/haskell-language-server/pull/2629)) by @pepeiborra +- Drop bytestring-encoding +([#2628](https://github.com/haskell/haskell-language-server/pull/2628)) by @pepeiborra +- fix positionInRange +([#2625](https://github.com/haskell/haskell-language-server/pull/2625)) by @kokobd +- Fix #2612 - hlint plugin - Apply fixities to parsed source before sending to apply-refact +([#2624](https://github.com/haskell/haskell-language-server/pull/2624)) by @eddiemundo +- Flake ghc 92 +([#2621](https://github.com/haskell/haskell-language-server/pull/2621)) by @guibou +- Use ghc+integer-gmp for alpine linux build release +([#2615](https://github.com/haskell/haskell-language-server/pull/2615)) by @jneira +- Use helpers from lsp to do code action prefixing +([#2614](https://github.com/haskell/haskell-language-server/pull/2614)) by @michaelpj +- Wingman: Fix fundeps +([#2611](https://github.com/haskell/haskell-language-server/pull/2611)) by @isovector +- Wingman idioms +([#2607](https://github.com/haskell/haskell-language-server/pull/2607)) by @isovector +- Make work stack-9.2.1.yaml and enable `pedantic` (`-WError`) for cabal +([#2606](https://github.com/haskell/haskell-language-server/pull/2606)) by @jneira +- Improve qualified import plugin readme +([#2605](https://github.com/haskell/haskell-language-server/pull/2605)) by @eddiemundo +- Correct typo in Ide.Arguments:listPluginsParser +([#2604](https://github.com/haskell/haskell-language-server/pull/2604)) by @tombusby +- Rework features documentation +([#2603](https://github.com/haskell/haskell-language-server/pull/2603)) by @michaelpj +- [ghc-9.2] Fix refine-imports plugin +([#2601](https://github.com/haskell/haskell-language-server/pull/2601)) by @mrgutkun +- [ghc-9.2] Fix qualify-imported-names plugin +([#2600](https://github.com/haskell/haskell-language-server/pull/2600)) by @mrgutkun +- Correct issues with pre-commit hook +([#2597](https://github.com/haskell/haskell-language-server/pull/2597)) by @bradrn +- Fix some import module completions being dropped (and fix flaky test too) +([#2595](https://github.com/haskell/haskell-language-server/pull/2595)) by @eddiemundo +- Fix module-name plugin on ghc-9.2.1 +([#2594](https://github.com/haskell/haskell-language-server/pull/2594)) by @mrgutkun +- [ghc-9.2] Fix rename plugin +([#2593](https://github.com/haskell/haskell-language-server/pull/2593)) by @pepeiborra +- Fix progress eval test randomly failing +([#2590](https://github.com/haskell/haskell-language-server/pull/2590)) by @eddiemundo +- More work around next ghc-9.2.1 support +([#2587](https://github.com/haskell/haskell-language-server/pull/2587)) by @jneira +- Post ghc-9.2.1 config cleanup +([#2582](https://github.com/haskell/haskell-language-server/pull/2582)) by @jneira +- GHC-9.0 support for hls-tactics-plugin +([#2581](https://github.com/haskell/haskell-language-server/pull/2581)) by @isovector +- Wingman: Fix TODO(sandy) when performing subsequent actions +([#2580](https://github.com/haskell/haskell-language-server/pull/2580)) by @isovector +- Bump Ormolu and Fourmolu to GHC-9.2-compatible versions +([#2579](https://github.com/haskell/haskell-language-server/pull/2579)) by @georgefst +- test: Add regression tests for #2403 +([#2576](https://github.com/haskell/haskell-language-server/pull/2576)) by @guibou +- Fix crash on completion with type family +([#2569](https://github.com/haskell/haskell-language-server/pull/2569)) by @guibou +- Add support for ghc 9.0.2 +([#2567](https://github.com/haskell/haskell-language-server/pull/2567)) by @jneira +- support selection range lsp feature +([#2565](https://github.com/haskell/haskell-language-server/pull/2565)) by @kokobd +- Reuse build setup using a dedicated github action +([#2563](https://github.com/haskell/haskell-language-server/pull/2563)) by @jneira +- Fix ci update hackage index +([#2562](https://github.com/haskell/haskell-language-server/pull/2562)) by @jneira +- Enable `aarch64-darwin` in `flake.nix` +([#2561](https://github.com/haskell/haskell-language-server/pull/2561)) by @Gabriel439 +- Fix freeze cache key correctly +([#2560](https://github.com/haskell/haskell-language-server/pull/2560)) by @jneira +- Fix nix flake by explicit version for `lsp-xxx` packages +([#2557](https://github.com/haskell/haskell-language-server/pull/2557)) by @guibou +- Apply missing update for stack-9.0.1.yaml +([#2556](https://github.com/haskell/haskell-language-server/pull/2556)) by @Ailrun +- doc: Enable relative links with anchors +([#2555](https://github.com/haskell/haskell-language-server/pull/2555)) by @sir4ur0n +- Fix space leak where EPS retained HPTs from old HscEnv +([#2553](https://github.com/haskell/haskell-language-server/pull/2553)) by @mpickering +- Remove cabal.project.freeze files in workflows after computing the cache key +([#2552](https://github.com/haskell/haskell-language-server/pull/2552)) by @jneira +- Add support for brittany (needs aeson-2) and floskell with ghc-9.0.1 +([#2551](https://github.com/haskell/haskell-language-server/pull/2551)) by @jneira +- Restore TemplateHaskell pragma in hls-graph +([#2549](https://github.com/haskell/haskell-language-server/pull/2549)) by @pepeiborra +- Add space after comma when exporting a name +([#2547](https://github.com/haskell/haskell-language-server/pull/2547)) by @sergv +- Set an unique name for Hlint job +([#2544](https://github.com/haskell/haskell-language-server/pull/2544)) by @jneira +- Fix ghcide handling project root +([#2543](https://github.com/haskell/haskell-language-server/pull/2543)) by @drsooch +- CI: linting +([#2538](https://github.com/haskell/haskell-language-server/pull/2538)) by @Anton-Latukha +- CI: add hlint workflow +([#2537](https://github.com/haskell/haskell-language-server/pull/2537)) by @Anton-Latukha +- CI: caching: closer match work/CI guarantees +([#2536](https://github.com/haskell/haskell-language-server/pull/2536)) by @Anton-Latukha +- CI: caching: keep-going +([#2535](https://github.com/haskell/haskell-language-server/pull/2535)) by @Anton-Latukha +- CI: {caching,test,bench}: mk cache aware of package dep versions +([#2532](https://github.com/haskell/haskell-language-server/pull/2532)) by @Anton-Latukha +- Test hls-pragmas-plugin in ci +([#2530](https://github.com/haskell/haskell-language-server/pull/2530)) by @jneira +- Enable manual run for caching, hackage and build workflows +([#2528](https://github.com/haskell/haskell-language-server/pull/2528)) by @jneira +- Fix random SQLite busy database is locked errors +([#2527](https://github.com/haskell/haskell-language-server/pull/2527)) by @eddiemundo +- Fix some hlint warnings +([#2523](https://github.com/haskell/haskell-language-server/pull/2523)) by @jhrcek +- Improve action for fixing import typo +([#2522](https://github.com/haskell/haskell-language-server/pull/2522)) by @jhrcek +- CI: caching: fix early termination expression check & cabal.project replacement +([#2520](https://github.com/haskell/haskell-language-server/pull/2520)) by @Anton-Latukha +- Solve crash with module name plugin under certain circumstances +([#2518](https://github.com/haskell/haskell-language-server/pull/2518)) by @ttylec +- Rework troubleshooting section, add basic explainer +([#2517](https://github.com/haskell/haskell-language-server/pull/2517)) by @michaelpj +- Refactor collectLiterals in AlternateNumberFormat. +([#2516](https://github.com/haskell/haskell-language-server/pull/2516)) by @drsooch +- cabal-*.project: index-state +1s +([#2515](https://github.com/haskell/haskell-language-server/pull/2515)) by @Anton-Latukha +- Bump up retrie +([#2513](https://github.com/haskell/haskell-language-server/pull/2513)) by @jneira +- Sort out some compatibility issues +([#2511](https://github.com/haskell/haskell-language-server/pull/2511)) by @alanz +- Fix ci cache for windows +([#2507](https://github.com/haskell/haskell-language-server/pull/2507)) by @jneira +- CI: caching: add early termination & run check on schedule +([#2506](https://github.com/haskell/haskell-language-server/pull/2506)) by @Anton-Latukha +- Fix tracing of recordDirtyKeys +([#2505](https://github.com/haskell/haskell-language-server/pull/2505)) by @pepeiborra +- Unhandled exceptions fixed +([#2504](https://github.com/haskell/haskell-language-server/pull/2504)) by @pepeiborra +- Build with GHC 9.2 +([#2503](https://github.com/haskell/haskell-language-server/pull/2503)) by @pepeiborra +- Ignore stack.yamls in test cabal workflow +([#2502](https://github.com/haskell/haskell-language-server/pull/2502)) by @jneira +- small stack yaml updates to ease maintenance +([#2501](https://github.com/haskell/haskell-language-server/pull/2501)) by @simonmichael +- Automatically read in the doc version from the cabal file +([#2500](https://github.com/haskell/haskell-language-server/pull/2500)) by @michaelpj +- Disable alternate numbers format plugin temporary +([#2498](https://github.com/haskell/haskell-language-server/pull/2498)) by @jneira +- Revert "Send unhandled exceptions to the user (#2484)" +([#2497](https://github.com/haskell/haskell-language-server/pull/2497)) by @jneira +- Upgrade to new version of lsp libraries +([#2494](https://github.com/haskell/haskell-language-server/pull/2494)) by @michaelpj +- Fail if main or pre jobs are cancelled +([#2493](https://github.com/haskell/haskell-language-server/pull/2493)) by @jneira +- stack-9.0.1: update/cleanup +([#2489](https://github.com/haskell/haskell-language-server/pull/2489)) by @simonmichael +- Correctly handle LSP shutdown/exit +([#2486](https://github.com/haskell/haskell-language-server/pull/2486)) by @pepeiborra +- Fix hls-graph ide build with embed-files +([#2485](https://github.com/haskell/haskell-language-server/pull/2485)) by @pepeiborra +- Send unhandled exceptions to the user +([#2484](https://github.com/haskell/haskell-language-server/pull/2484)) by @pepeiborra +- Fix redundant import actions for names starting with _ +([#2483](https://github.com/haskell/haskell-language-server/pull/2483)) by @Ailrun +- Update flake to use fourmolu plugin in GHC 9 +([#2482](https://github.com/haskell/haskell-language-server/pull/2482)) by @Ailrun +- Delete some dead or deprecated settings +([#2481](https://github.com/haskell/haskell-language-server/pull/2481)) by @michaelpj +- Class plugin bump up +([#2475](https://github.com/haskell/haskell-language-server/pull/2475)) by @Ailrun +- Fix some pragma completion cases +([#2474](https://github.com/haskell/haskell-language-server/pull/2474)) by @Ailrun +- Minor org to contribution doc +([#2472](https://github.com/haskell/haskell-language-server/pull/2472)) by @Anton-Latukha +- Warn if TH and Mac and static binary +([#2470](https://github.com/haskell/haskell-language-server/pull/2470)) by @pepeiborra +- Lock-less debouncer (minimal change) +([#2469](https://github.com/haskell/haskell-language-server/pull/2469)) by @pepeiborra +- Handle re-exported modules when constructing ExportsMap +([#2468](https://github.com/haskell/haskell-language-server/pull/2468)) by @jhrcek +- Caching process update +([#2467](https://github.com/haskell/haskell-language-server/pull/2467)) by @Anton-Latukha +- #2418 Also use .hlint.yaml fixity rules when HLINT_ON_LIB_GHC not defined +([#2464](https://github.com/haskell/haskell-language-server/pull/2464)) by @eddiemundo +- Build linux binaries in alpine container +([#2463](https://github.com/haskell/haskell-language-server/pull/2463)) by @pepeiborra +- Lockless iorefs +([#2460](https://github.com/haskell/haskell-language-server/pull/2460)) by @pepeiborra +- Join nested IO actions of the form `IO (IO ())` +([#2459](https://github.com/haskell/haskell-language-server/pull/2459)) by @fendor +- #600 Code action to ignore hlint hints module wide +([#2458](https://github.com/haskell/haskell-language-server/pull/2458)) by @eddiemundo +- lock-less progress-reporting +([#2453](https://github.com/haskell/haskell-language-server/pull/2453)) by @pepeiborra +- Fix the nix build +([#2452](https://github.com/haskell/haskell-language-server/pull/2452)) by @michaelpj +- Fix rerun log cache handling +([#2450](https://github.com/haskell/haskell-language-server/pull/2450)) by @jneira +- Make heavy use of common sections +([#2447](https://github.com/haskell/haskell-language-server/pull/2447)) by @fendor +- CI: organizing bootstraping +([#2446](https://github.com/haskell/haskell-language-server/pull/2446)) by @Anton-Latukha +- Describe hls installed binaries +([#2445](https://github.com/haskell/haskell-language-server/pull/2445)) by @jneira +- Remove support for ghc 8.8.3/8.10.5 +([#2444](https://github.com/haskell/haskell-language-server/pull/2444)) by @jneira +- CI: cabal 3.6 use & clean-up 8.10.5 builds +([#2443](https://github.com/haskell/haskell-language-server/pull/2443)) by @Anton-Latukha +- Lockless FileExistsMap and position mapping +([#2442](https://github.com/haskell/haskell-language-server/pull/2442)) by @pepeiborra +- Fix regression in Eval plugin and add test +([#2441](https://github.com/haskell/haskell-language-server/pull/2441)) by @pepeiborra +- Makes local record field completion respects the fields sharing one single type signature +([#2439](https://github.com/haskell/haskell-language-server/pull/2439)) by @konn +- Enable top-level hover signature test +([#2435](https://github.com/haskell/haskell-language-server/pull/2435)) by @jneira +- Lockless diagnostics +([#2434](https://github.com/haskell/haskell-language-server/pull/2434)) by @pepeiborra +- Move Common Plugin Functions into PluginUtils +([#2433](https://github.com/haskell/haskell-language-server/pull/2433)) by @drsooch +- lock-less Values state +([#2429](https://github.com/haskell/haskell-language-server/pull/2429)) by @pepeiborra +- Extract the pre-decl pragma parsing to its own module +([#2428](https://github.com/haskell/haskell-language-server/pull/2428)) by @eddiemundo +- CI: cache-deps: rm pull request hook +([#2426](https://github.com/haskell/haskell-language-server/pull/2426)) by @Anton-Latukha +- Add known broken tests for import placement +([#2425](https://github.com/haskell/haskell-language-server/pull/2425)) by @nini-faroux +- Use stm-stats to reduce contention in hls-graph +([#2421](https://github.com/haskell/haskell-language-server/pull/2421)) by @pepeiborra +- Build on FreeBSD12 only +([#2420](https://github.com/haskell/haskell-language-server/pull/2420)) by @hasufell +- Centralized caching workflow +([#2419](https://github.com/haskell/haskell-language-server/pull/2419)) by @Anton-Latukha +- Configuration docs: Typo +([#2417](https://github.com/haskell/haskell-language-server/pull/2417)) by @andys8 +- Use dependent-sum from hackage +([#2412](https://github.com/haskell/haskell-language-server/pull/2412)) by @jneira +- Lock-less hls-graph +([#2411](https://github.com/haskell/haskell-language-server/pull/2411)) by @pepeiborra +- hls-graph.cabal: link to actual readme +([#2404](https://github.com/haskell/haskell-language-server/pull/2404)) by @juhp +- Disable check project in the ghcide test suite +([#2397](https://github.com/haskell/haskell-language-server/pull/2397)) by @pepeiborra +- Add modern issue templates +([#2394](https://github.com/haskell/haskell-language-server/pull/2394)) by @jneira +- Fix extension pragma inserted below ghc options pragma #2364 +([#2392](https://github.com/haskell/haskell-language-server/pull/2392)) by @eddiemundo +- Avoid unnecessary Target canonicalisation in Session setup +([#2359](https://github.com/haskell/haskell-language-server/pull/2359)) by @fendor +- Decrease contention in Progress reporting +([#2357](https://github.com/haskell/haskell-language-server/pull/2357)) by @pepeiborra +- Qualify imported names plugin +([#2355](https://github.com/haskell/haskell-language-server/pull/2355)) by @eddiemundo +- HLS Plugin to provide Alternate Literal Formats. +([#2350](https://github.com/haskell/haskell-language-server/pull/2350)) by @drsooch +- Log live_bytes and heap_size as reported by GHC.Stats +([#1508](https://github.com/haskell/haskell-language-server/pull/1508)) by @mpickering + ## 1.5.1 This is a bug fix release for two regressions found after releasing 1.5.0: From b7da6729e5311078afd60282a39f912e9ec21864 Mon Sep 17 00:00:00 2001 From: jneira Date: Tue, 25 Jan 2022 22:44:06 +0100 Subject: [PATCH 02/38] Remove branch trigger --- .github/workflows/build.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 73fc24419e..37a358a24f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -9,9 +9,6 @@ on: default: 'false' release: types: [created] - push: - branches: - - '*-check-build' jobs: build: From 28ddcc7681d3c83de75136d52d8f163fa98ffe80 Mon Sep 17 00:00:00 2001 From: jneira Date: Tue, 25 Jan 2022 22:50:41 +0100 Subject: [PATCH 03/38] Update release instructions --- docs/contributing/releases.md | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/docs/contributing/releases.md b/docs/contributing/releases.md index 37100bf6cb..b5bf322a41 100644 --- a/docs/contributing/releases.md +++ b/docs/contributing/releases.md @@ -18,9 +18,10 @@ and it is being used in nix environments. ### prerelease sanity checks -- [ ] create a branch named `${version}-check-hackage`: it will trigger the hackage workflow *without* uploading the packages -- [ ] trigger the build workflow pushing a branch named `${version}-check-build` +- [ ] [trigger manually](https://docs.github.com/es/actions/managing-workflow-runs/manually-running-a-workflow) the hackage workflow *without* uploading the packages +- [ ] trigger manually the build workflow - [ ] create a prerelease tag `${version}-check-gitlab` and push it to the [project repo in gitlab](https://gitlab.haskell.org/haskell/haskell-language-server) to check the build is fine + ### github release - [ ] generate the list of pull requests finished since the last release using the [haskell script](https://github.com/haskell/haskell-language-server/blob/master/GenChangelogs.hs) in the project root. @@ -28,7 +29,8 @@ and it is being used in nix environments. - [ ] add that list to the actual [Changelog](https://github.com/haskell/haskell-language-server/blob/master/ChangeLog.md) with a description of the release. - [ ] bump up versions of changed packages. All are optional but [haskell-language-server itself](https://github.com/haskell/haskell-language-server/blob/master/haskell-language-server.cabal). - [ ] create the tag and make an initial prerelease to trigger the ci workflow (see details below) -- [ ] contact ghcup team (#haskell-ghcup irc channel or via its [repo](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues)) to try to sync our release and its inclusion in ghcup +- [ ] contact ghcup team (#haskell-ghcup irc channel or via its [repo](https://github.com/haskell/ghcup-metadata)) to try to sync our release and its inclusion in ghcup + - The inclusion of the new hls release is done by a pull request like [this one](https://github.com/haskell/ghcup-metadata/pull/11). - [ ] in the github release edit page, check the attached binaries and the release description (usually the changelog entry) and uncheck the prerelease box - [ ] make public the release in the usual social channels (not required but useful to spread the word :slightly_smiling_face:): - [ ] irc @@ -37,6 +39,7 @@ and it is being used in nix environments. - [ ] discord - [ ] discourse - [ ] reddit + ### hackage release - [ ] bump up package versions following the [pvp specification](https://pvp.haskell.org/) if they are not already updated. You could use [policeman](https://github.com/kowainik/policeman) to help with this step. @@ -46,8 +49,9 @@ and it is being used in nix environments. ### ghcup release -* [ ] push the release tag to the [haskell-language-server gitlab repo](https://gitlab.haskell.org/haskell/haskell-language-server) to trigger the build of ghcup specific artifacts -* [ ] change ghcup metadata to include the new release in https://github.com/haskell/ghcup-metadata +- [ ] push the release tag to the [haskell-language-server gitlab repo](https://gitlab.haskell.org/haskell/haskell-language-server) to trigger the build of ghcup specific artifacts +- [ ] change ghcup metadata to include the new release in + - example pull request [here](https://github.com/haskell/ghcup-metadata/pull/11) ## Making a new release of haskell-language-server in github @@ -143,12 +147,12 @@ its secure distribution using their hashes. We should only add new ones.* To manually upload a new binary we should: -* Add the new tar/zip following the name conventions of existing ones - * `haskell-language-server-${os}-${ghcVersion}.gz` for `Linux` and `macOS` and `haskell-language-server-Windows-${ghcVersion}.exe.zip` for `Windows` - * the binary inside the gz file is named `haskell-language-server-${ghcVersion}` (with the `.exe` extension for `Windows`). Note that the binary name does not contain the `${os}` part. -* Add the executable to the existing tar `haskell-language-server-${os}-${ghcVersion}.tar.gz` *locally* and upload it under a new name `haskell-language-server-${os}-${ghcVersion}-rev${n}.tar.gz` following the same schema for the binary as the previous one. - * `-rev${n}` is the next revision number of the tarball, starting at 1. - * we should contact users of the tarball (particularly ghcup) to notify the change +- Add the new tar/zip following the name conventions of existing ones + - `haskell-language-server-${os}-${ghcVersion}.gz` for `Linux` and `macOS` and `haskell-language-server-Windows-${ghcVersion}.exe.zip` for `Windows` + - the binary inside the gz file is named `haskell-language-server-${ghcVersion}` (with the `.exe` extension for `Windows`). Note that the binary name does not contain the `${os}` part. +- Add the executable to the existing tar `haskell-language-server-${os}-${ghcVersion}.tar.gz` *locally* and upload it under a new name `haskell-language-server-${os}-${ghcVersion}-rev${n}.tar.gz` following the same schema for the binary as the previous one. + - `-rev${n}` is the next revision number of the tarball, starting at 1. + - we should contact users of the tarball (particularly ghcup) to notify the change ## Hackage release workflow @@ -160,15 +164,15 @@ against hackage head if the package version in the branch is different from hack If the package in the branch has the same version as the released one, it will check the relevant files have not changed and will throw an error otherwise. -You can trigger a build which only does the above step by pushing a branch named `${version}-check-hackage`. +You can trigger the build manually. The script will upload the tarballs as candidates, maintainers will have to check and publish them definitely. ## haskell gitlab release pipeline -The project is present in the haskell gitlab server: https://gitlab.haskell.org/haskell/haskell-language-server +The project is present in the haskell gitlab server: The main motivation is to leverage the ci infrastructure which includes architectures not included in the github ci. The specific architectures only available through gitlab are: `armv7-linux`, `x86_64-freebsd`, `aarch64-darwin`, `aarch64-linux` The gitlab pipeline uses the configuration file [.gitlab-ci.yml](https://github.com/haskell/haskell-language-server/blob/master/.gitlab-ci.yml) -and the sh/nix scripts in [.gitlab](https://github.com/haskell/haskell-language-server/tree/master/.gitlab) +and the sh scripts in [.gitlab](https://github.com/haskell/haskell-language-server/tree/master/.gitlab) It is triggered by pushing a tag to the gitlab repo. From 740345cb79737b46a56f65eda2d544ac11d83ef2 Mon Sep 17 00:00:00 2001 From: jneira Date: Tue, 25 Jan 2022 22:51:31 +0100 Subject: [PATCH 04/38] Include 9.2.1 in the current release --- docs/supported-versions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/supported-versions.md b/docs/supported-versions.md index 21afba0582..a5c504f7f5 100644 --- a/docs/supported-versions.md +++ b/docs/supported-versions.md @@ -6,7 +6,7 @@ The current support for different GHC versions is given in the following table. | GHC version | Last supporting HLS version | Deprecation status | | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- | -| 9.2.0 | incoming [partial](https://github.com/haskell/haskell-language-server/issues/2179) | | +| 9.2.1 | [current](https://github.com/haskell/haskell-language-server/releases/latest) [partial](https://github.com/haskell/haskell-language-server/issues/2179) | | | 9.0.2 | [current](https://github.com/haskell/haskell-language-server/releases/latest) ([partial](https://github.com/haskell/haskell-language-server/issues/297)) | | | 9.0.1 | [current](https://github.com/haskell/haskell-language-server/releases/latest) ([partial](https://github.com/haskell/haskell-language-server/issues/297)) | | | 8.10.7 | [current](https://github.com/haskell/haskell-language-server/releases/latest) | | From a9d6321e92735f60aacb7b36194219480f9fce75 Mon Sep 17 00:00:00 2001 From: jneira Date: Tue, 25 Jan 2022 22:51:59 +0100 Subject: [PATCH 05/38] Bump up hls version --- haskell-language-server.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/haskell-language-server.cabal b/haskell-language-server.cabal index bbd26f0385..6f1c6c7002 100644 --- a/haskell-language-server.cabal +++ b/haskell-language-server.cabal @@ -1,7 +1,7 @@ cabal-version: 2.4 category: Development name: haskell-language-server -version: 1.5.1.0 +version: 1.6.0.0 synopsis: LSP server for GHC description: Please see the README on GitHub at From 8269cbdcfeb641aca8a732b80f87a1fcb13c0d2a Mon Sep 17 00:00:00 2001 From: jneira Date: Tue, 25 Jan 2022 22:56:20 +0100 Subject: [PATCH 06/38] remove duplicate mention --- docs/contributing/releases.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/contributing/releases.md b/docs/contributing/releases.md index b5bf322a41..d426e4de3b 100644 --- a/docs/contributing/releases.md +++ b/docs/contributing/releases.md @@ -30,7 +30,6 @@ and it is being used in nix environments. - [ ] bump up versions of changed packages. All are optional but [haskell-language-server itself](https://github.com/haskell/haskell-language-server/blob/master/haskell-language-server.cabal). - [ ] create the tag and make an initial prerelease to trigger the ci workflow (see details below) - [ ] contact ghcup team (#haskell-ghcup irc channel or via its [repo](https://github.com/haskell/ghcup-metadata)) to try to sync our release and its inclusion in ghcup - - The inclusion of the new hls release is done by a pull request like [this one](https://github.com/haskell/ghcup-metadata/pull/11). - [ ] in the github release edit page, check the attached binaries and the release description (usually the changelog entry) and uncheck the prerelease box - [ ] make public the release in the usual social channels (not required but useful to spread the word :slightly_smiling_face:): - [ ] irc From 21d138f4abadeef9aebf302f21c93ec4210433ec Mon Sep 17 00:00:00 2001 From: jneira Date: Tue, 25 Jan 2022 23:30:26 +0100 Subject: [PATCH 07/38] Remove references to branch name --- .github/workflows/build.yml | 10 +++++----- .github/workflows/hackage.yml | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 37a358a24f..3dc45129fd 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -87,7 +87,7 @@ jobs: fi - name: Upload server to release - if: ${{ !contains(github.ref_name, 'check') && github.event.release.upload_url != ''}} + if: ${{ github.event.release.upload_url != ''}} uses: actions/upload-release-asset@v1.0.2 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -127,7 +127,7 @@ jobs: fi - name: Upload wrapper to the release - if: ${{ matrix.ghc == '8.10.7' && !contains(github.ref_name, 'check') && github.event.release.upload_url != '' }} + if: ${{ matrix.ghc == '8.10.7' && github.event.release.upload_url != '' }} uses: actions/upload-release-asset@v1.0.2 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -170,7 +170,7 @@ jobs: HEAD - name: Upload source tarball to the release - if: ${{ !contains(github.ref_name, 'check') && github.event.release.upload_url != '' }} + if: ${{ github.event.release.upload_url != '' }} uses: actions/upload-release-asset@v1.0.2 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -217,7 +217,7 @@ jobs: tar -czpf haskell-language-server.tar.gz * - name: Upload binaries tarball to the release - if: ${{ !contains(github.ref_name, 'check') && github.event.release.upload_url != '' }} + if: ${{ github.event.release.upload_url != '' }} uses: actions/upload-release-asset@v1.0.2 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -255,7 +255,7 @@ jobs: sed -i 's/\/.*)/)/g' SHA256SUMS - name: Upload sha256sums to the release - if: ${{ !contains(github.ref_name, 'check') && github.event.release.upload_url != '' }} + if: ${{ github.event.release.upload_url != '' }} uses: actions/upload-release-asset@v1.0.2 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/hackage.yml b/.github/workflows/hackage.yml index 12bb331b55..f06a89c174 100644 --- a/.github/workflows/hackage.yml +++ b/.github/workflows/hackage.yml @@ -20,7 +20,7 @@ jobs: check-and-upload-tarballs: runs-on: ubuntu-latest strategy: - fail-fast: ${{ !contains(github.ref_name, 'check') && github.event.inputs.upload-candidates != 'true' }} + fail-fast: ${{ github.event.inputs.upload-candidates != 'true' }} matrix: package: ["hie-compat", "hls-graph", "shake-bench", "hls-plugin-api", "ghcide", "hls-test-utils", @@ -139,7 +139,7 @@ jobs: path: ${{ steps.generate-dist-tarball.outputs.path }} upload-candidate: - if: ${{ !contains(github.ref_name, 'check') || github.event.inputs.name == 'true' }} + if: github.event.inputs.upload-candidates == 'true' needs: check-and-upload-tarballs runs-on: ubuntu-latest steps: From b2e0d50d3361955819fe53402bf6143f1828c4ca Mon Sep 17 00:00:00 2001 From: jneira Date: Wed, 26 Jan 2022 07:52:22 +0100 Subject: [PATCH 08/38] Fix cabal.project gen --- .github/workflows/hackage.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/hackage.yml b/.github/workflows/hackage.yml index f06a89c174..b2262421c3 100644 --- a/.github/workflows/hackage.yml +++ b/.github/workflows/hackage.yml @@ -42,8 +42,6 @@ jobs: exclude: - ghc: "9.0.2" package: "hls-stylish-haskell-plugin" - - ghc: "9.0.2" - package: "hls-tactics-plugin" steps: @@ -109,6 +107,7 @@ jobs: run: | cd $(ls -d ./incoming/${{ matrix.package }}-*) # For brittany + echo "allow-newer:" >> cabal.project echo " butcher:base, multistate:base, data-tree-print:base," >> cabal.project # For stylish-haskell echo " stylish-haskell:Cabal,stylish-haskell:ghc-lib-parser,stylish-haskell:aeson" >> cabal.project From 8b22193af7a2941c6fde2ddc36b63f3d6f727a2d Mon Sep 17 00:00:00 2001 From: jneira Date: Wed, 26 Jan 2022 08:43:01 +0100 Subject: [PATCH 09/38] Correct fail-fast condition --- .github/workflows/hackage.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/hackage.yml b/.github/workflows/hackage.yml index b2262421c3..e814a6650e 100644 --- a/.github/workflows/hackage.yml +++ b/.github/workflows/hackage.yml @@ -20,7 +20,7 @@ jobs: check-and-upload-tarballs: runs-on: ubuntu-latest strategy: - fail-fast: ${{ github.event.inputs.upload-candidates != 'true' }} + fail-fast: ${{ github.event.inputs.upload-candidates == 'true' }} matrix: package: ["hie-compat", "hls-graph", "shake-bench", "hls-plugin-api", "ghcide", "hls-test-utils", From 0cdfb43d78b7d4d781fa011c9fc17e78b625f85c Mon Sep 17 00:00:00 2001 From: jneira Date: Wed, 26 Jan 2022 08:46:27 +0100 Subject: [PATCH 10/38] Bump up minor version --- hie-compat/hie-compat.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hie-compat/hie-compat.cabal b/hie-compat/hie-compat.cabal index 812717b997..143df06d44 100644 --- a/hie-compat/hie-compat.cabal +++ b/hie-compat/hie-compat.cabal @@ -1,6 +1,6 @@ cabal-version: 1.22 name: hie-compat -version: 0.2.1.0 +version: 0.2.1.1 synopsis: HIE files for GHC 8.6 and other HIE file backports license: Apache-2.0 description: From 72ae4256323d2fde8093a40ef7a72fd76e8ecf7f Mon Sep 17 00:00:00 2001 From: jneira Date: Wed, 26 Jan 2022 08:46:45 +0100 Subject: [PATCH 11/38] Bump up major version --- ghcide/ghcide.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ghcide/ghcide.cabal b/ghcide/ghcide.cabal index bf7c714f37..f7aee57b9e 100644 --- a/ghcide/ghcide.cabal +++ b/ghcide/ghcide.cabal @@ -2,7 +2,7 @@ cabal-version: 2.4 build-type: Simple category: Development name: ghcide -version: 1.5.0.1 +version: 1.6.0.0 license: Apache-2.0 license-file: LICENSE author: Digital Asset and Ghcide contributors From c42807c7058a8a61a39c16738ba90d9a96586763 Mon Sep 17 00:00:00 2001 From: jneira Date: Wed, 26 Jan 2022 08:47:45 +0100 Subject: [PATCH 12/38] Bump up major version --- hls-graph/hls-graph.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hls-graph/hls-graph.cabal b/hls-graph/hls-graph.cabal index 6c43045293..c31c3dd755 100644 --- a/hls-graph/hls-graph.cabal +++ b/hls-graph/hls-graph.cabal @@ -1,6 +1,6 @@ cabal-version: 2.4 name: hls-graph -version: 1.5.1.1 +version: 1.6.0.0 synopsis: Haskell Language Server internal graph API description: Please see the README on GitHub at From aa6a87f579e7b43d0380e74011a9ad7f7d965ef7 Mon Sep 17 00:00:00 2001 From: jneira Date: Wed, 26 Jan 2022 12:04:53 +0100 Subject: [PATCH 13/38] Allow brittany only for 9.0.1 --- haskell-language-server.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/haskell-language-server.cabal b/haskell-language-server.cabal index 6f1c6c7002..226f27a1a1 100644 --- a/haskell-language-server.cabal +++ b/haskell-language-server.cabal @@ -316,7 +316,7 @@ common stylishHaskell cpp-options: -DstylishHaskell common brittany - if flag(brittany) && (impl(ghc < 9.0.1) || flag(ignore-plugins-ghc-bounds)) + if flag(brittany) && (impl(ghc < 9.0.2) || flag(ignore-plugins-ghc-bounds)) build-depends: hls-brittany-plugin ^>=1.0.0.1 cpp-options: -Dbrittany From 00bf584bb1f2db3522a307bbf000f82763f7194f Mon Sep 17 00:00:00 2001 From: jneira Date: Wed, 26 Jan 2022 12:11:08 +0100 Subject: [PATCH 14/38] brittany not supported in hackage and 9.0.2 --- docs/supported-versions.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/supported-versions.md b/docs/supported-versions.md index a5c504f7f5..ae2fef71a4 100644 --- a/docs/supported-versions.md +++ b/docs/supported-versions.md @@ -28,11 +28,12 @@ The policy for when we deprecate support for versions of GHC is given below. The Additionally, some plugins do not have support for some GHC versions, as shown in the following table. As such, the functionality provided by those plugins is not available in HLS when using a GHC version which they do not support. +Sometimes a plugin can be supported in prebuilt binaries but no in a hls binary installed from hackage. | Plugin | Unsupported GHC versions | |-------------------------------------|--------------------------| | `hls-alternate-number-plugin` | 9.2 | -| `hls-brittany-plugin` | 9.2 | +| `hls-brittany-plugin` | 9.0.2(hackage), 9.2 | | `hls-call-hierarchy-plugin` | | | `hls-class-plugin` | 9.2 | | `hls-eval-plugin` | 9.2 | From 9aa58d929344737490fa373a76056c3a5624fdfe Mon Sep 17 00:00:00 2001 From: jneira Date: Wed, 26 Jan 2022 12:57:33 +0100 Subject: [PATCH 15/38] Not short hls for hackage --- .github/actions/setup-build/action.yml | 16 +++++++++++----- .github/workflows/hackage.yml | 1 + 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/.github/actions/setup-build/action.yml b/.github/actions/setup-build/action.yml index 07b0186cd8..9766c7238e 100644 --- a/.github/actions/setup-build/action.yml +++ b/.github/actions/setup-build/action.yml @@ -15,6 +15,11 @@ inputs: description: "To allow make unique the cache key" required: false default: "" + shorten-hls: + description: "Wether we have to apply shorten hls name" + required: false + default: "true" + runs: using: "composite" steps: @@ -47,7 +52,7 @@ runs: # File has some protections preventing regular `rm`. # (most probably sticky bit is set on $HOME) # `&&` insures `rm -f` return is positive. - # Many platforms aslo have `alias cp='cp -i'`. + # Many platforms also have `alias cp='cp -i'`. GHCVER2=${GHCVER//./} ALT_PROJECT_FILE_MINOR=cabal-ghc${GHCVER2}.project ALT_PROJECT_FILE_MAJOR=cabal-ghc${GHCVER2:0:2}.project @@ -65,10 +70,11 @@ runs: shell: bash # Shorten binary names as a workaround for filepath length limits in Windows, - # but since tests are hardcoded on this workaround - - # all platforms (in 2021-12-07) need it. - # All workflows which distinquishes cache on `cabal.project` needs this. - - name: Workaround shorten binary names + # but since tests are hardcoded on this workaround all platforms need it. + # All workflows which distinguishes cache on `cabal.project` needs this. + # Except hackage one, which needs the original name + - if: inputs.shorten-hls == 'true' + name: Workaround shorten binary names run: | sed -i.bak -e 's/haskell-language-server/hls/g' \ -e 's/haskell_language_server/hls/g' \ diff --git a/.github/workflows/hackage.yml b/.github/workflows/hackage.yml index e814a6650e..ebb9a9572e 100644 --- a/.github/workflows/hackage.yml +++ b/.github/workflows/hackage.yml @@ -51,6 +51,7 @@ jobs: with: ghc: ${{ matrix.ghc }} os: ${{ runner.os }} + shorten-hls: 'false' - name: "Run cabal check" run: | From 0f4966e4a683e888f57ca7f2266c140bd8340912 Mon Sep 17 00:00:00 2001 From: jneira Date: Wed, 26 Jan 2022 14:14:52 +0100 Subject: [PATCH 16/38] Bump up versions everywhere --- ghcide/ghcide.cabal | 4 ++-- haskell-language-server.cabal | 8 ++++---- hls-plugin-api/hls-plugin-api.cabal | 4 ++-- hls-test-utils/hls-test-utils.cabal | 6 +++--- .../hls-alternate-number-format-plugin.cabal | 8 ++++---- plugins/hls-brittany-plugin/hls-brittany-plugin.cabal | 8 ++++---- .../hls-call-hierarchy-plugin.cabal | 8 ++++---- plugins/hls-class-plugin/hls-class-plugin.cabal | 8 ++++---- plugins/hls-eval-plugin/hls-eval-plugin.cabal | 8 ++++---- .../hls-explicit-imports-plugin.cabal | 6 +++--- plugins/hls-floskell-plugin/hls-floskell-plugin.cabal | 8 ++++---- plugins/hls-fourmolu-plugin/hls-fourmolu-plugin.cabal | 8 ++++---- .../hls-haddock-comments-plugin.cabal | 8 ++++---- plugins/hls-hlint-plugin/hls-hlint-plugin.cabal | 8 ++++---- .../hls-module-name-plugin/hls-module-name-plugin.cabal | 8 ++++---- plugins/hls-ormolu-plugin/hls-ormolu-plugin.cabal | 8 ++++---- plugins/hls-pragmas-plugin/hls-pragmas-plugin.cabal | 8 ++++---- .../hls-qualify-imported-names-plugin.cabal | 8 ++++---- .../hls-refine-imports-plugin.cabal | 6 +++--- plugins/hls-rename-plugin/hls-rename-plugin.cabal | 6 +++--- plugins/hls-retrie-plugin/hls-retrie-plugin.cabal | 6 +++--- .../hls-selection-range-plugin.cabal | 6 +++--- plugins/hls-splice-plugin/hls-splice-plugin.cabal | 8 ++++---- .../hls-stylish-haskell-plugin.cabal | 8 ++++---- plugins/hls-tactics-plugin/hls-tactics-plugin.cabal | 8 ++++---- shake-bench/shake-bench.cabal | 2 +- 26 files changed, 91 insertions(+), 91 deletions(-) diff --git a/ghcide/ghcide.cabal b/ghcide/ghcide.cabal index f7aee57b9e..036a7c9cd9 100644 --- a/ghcide/ghcide.cabal +++ b/ghcide/ghcide.cabal @@ -60,7 +60,7 @@ library haddock-library >= 1.8 && < 1.11, hashable, hie-compat ^>= 0.2.0.0, - hls-plugin-api ^>= 1.2.0.2, + hls-plugin-api ^>= 1.2.0.2 || ^>= 1.3, lens, list-t, hiedb == 0.4.1.*, @@ -79,7 +79,7 @@ library rope-utf16-splay, safe, safe-exceptions, - hls-graph ^>= 1.5.1, + hls-graph ^>= 1.5.1 || ^>= 1.6, sorted-list, sqlite-simple, stm, diff --git a/haskell-language-server.cabal b/haskell-language-server.cabal index 226f27a1a1..4042c42c0e 100644 --- a/haskell-language-server.cabal +++ b/haskell-language-server.cabal @@ -70,12 +70,12 @@ library , cryptohash-sha1 , data-default , ghc - , ghcide ^>=1.4 || ^>=1.5 + , ghcide ^>=1.5 || ^>=1.6 , githash , lsp , hie-bios , hiedb - , hls-plugin-api ^>=1.2 + , hls-plugin-api ^>=1.2 || ^>=1.3 , hslogger , optparse-applicative , optparse-simple @@ -255,7 +255,7 @@ common retrie common tactic if flag(tactic) && (impl(ghc < 9.0.1) || flag(ignore-plugins-ghc-bounds)) - build-depends: hls-tactics-plugin >=1.2.0.0 && <1.6 + build-depends: hls-tactics-plugin >=1.2.0.0 && <1.7 cpp-options: -Dtactic common hlint @@ -449,7 +449,7 @@ test-suite func-test , lens , lens-aeson , ghcide - , hls-test-utils ^>= 1.1.0.0 + , hls-test-utils ^>= 1.1 || ^>= 1.2 , lsp-types , aeson , hls-plugin-api diff --git a/hls-plugin-api/hls-plugin-api.cabal b/hls-plugin-api/hls-plugin-api.cabal index ec555ee483..dff2055292 100644 --- a/hls-plugin-api/hls-plugin-api.cabal +++ b/hls-plugin-api/hls-plugin-api.cabal @@ -1,6 +1,6 @@ cabal-version: 2.4 name: hls-plugin-api -version: 1.2.0.2 +version: 1.3.0.0 synopsis: Haskell Language Server API for plugin communication description: Please see the README on GitHub at @@ -46,7 +46,7 @@ library , extra , ghc , hashable - , hls-graph >=1.4 && < 1.6 + , hls-graph ^>= 1.5.1 || ^>= 1.6 , hslogger , lens , lens-aeson diff --git a/hls-test-utils/hls-test-utils.cabal b/hls-test-utils/hls-test-utils.cabal index a6f5dec9d3..7391f5e755 100644 --- a/hls-test-utils/hls-test-utils.cabal +++ b/hls-test-utils/hls-test-utils.cabal @@ -1,6 +1,6 @@ cabal-version: 2.4 name: hls-test-utils -version: 1.1.0.2 +version: 1.2.0.0 synopsis: Utilities used in the tests of Haskell Language Server description: Please see the README on GitHub at @@ -41,9 +41,9 @@ library , directory , extra , filepath - , ghcide ^>=1.5.0 + , ghcide ^>=1.5 || ^>=1.6 , hls-graph - , hls-plugin-api ^>=1.2 + , hls-plugin-api ^>=1.2 || ^>=1.3 , hspec <2.8 , hspec-core , lens diff --git a/plugins/hls-alternate-number-format-plugin/hls-alternate-number-format-plugin.cabal b/plugins/hls-alternate-number-format-plugin/hls-alternate-number-format-plugin.cabal index 20bd4be3d3..f3b08c6f9b 100644 --- a/plugins/hls-alternate-number-format-plugin/hls-alternate-number-format-plugin.cabal +++ b/plugins/hls-alternate-number-format-plugin/hls-alternate-number-format-plugin.cabal @@ -1,6 +1,6 @@ cabal-version: 2.4 name: hls-alternate-number-format-plugin -version: 1.0.0.0 +version: 1.0.1.0 synopsis: Provide Alternate Number Formats plugin for Haskell Language Server description: Please see the README on GitHub at @@ -25,10 +25,10 @@ library aeson , base >=4.12 && < 5 , containers - , ghcide >=1.5.0 && <1.6 + , ghcide ^>=1.5 || ^>=1.6 , ghc-boot-th , hls-graph - , hls-plugin-api >=1.1 && < 1.3 + , hls-plugin-api ^>= 1.2 || ^>= 1.3 , hie-compat , lens , lsp @@ -56,7 +56,7 @@ test-suite tests , base >=4.12 && < 5 , filepath , hls-alternate-number-format-plugin - , hls-test-utils >=1.0 && <1.2 + , hls-test-utils ^>=1.1 || ^>=1.2 , lsp , QuickCheck , regex-tdfa diff --git a/plugins/hls-brittany-plugin/hls-brittany-plugin.cabal b/plugins/hls-brittany-plugin/hls-brittany-plugin.cabal index 026ef6f2bd..9d7c71e6ef 100644 --- a/plugins/hls-brittany-plugin/hls-brittany-plugin.cabal +++ b/plugins/hls-brittany-plugin/hls-brittany-plugin.cabal @@ -1,6 +1,6 @@ cabal-version: 2.4 name: hls-brittany-plugin -version: 1.0.1.1 +version: 1.0.2.0 synopsis: Integration with the Brittany code formatter description: Please see the README on GitHub at @@ -25,8 +25,8 @@ library , brittany >=0.13.1.0 && < 0.14.0.1 || > 0.14.0.1 , filepath , ghc-boot-th - , ghcide >=1.2 && <1.6 - , hls-plugin-api >=1.1 && <1.3 + , ghcide ^>=1.5 || ^>=1.6 + , hls-plugin-api ^>=1.2 || ^>=1.3 , lens , lsp-types , text @@ -48,4 +48,4 @@ test-suite tests , base , filepath , hls-brittany-plugin - , hls-test-utils >=1.0 && <1.2 + , hls-test-utils ^>=1.1 || ^>=1.2 diff --git a/plugins/hls-call-hierarchy-plugin/hls-call-hierarchy-plugin.cabal b/plugins/hls-call-hierarchy-plugin/hls-call-hierarchy-plugin.cabal index 5be56db221..b88d91c1d5 100644 --- a/plugins/hls-call-hierarchy-plugin/hls-call-hierarchy-plugin.cabal +++ b/plugins/hls-call-hierarchy-plugin/hls-call-hierarchy-plugin.cabal @@ -1,6 +1,6 @@ cabal-version: 2.4 name: hls-call-hierarchy-plugin -version: 1.0.1.1 +version: 1.0.2.0 synopsis: Call hierarchy plugin for Haskell Language Server description: Please see the README on GitHub at @@ -30,9 +30,9 @@ library , containers , extra , ghc - , ghcide ^>=1.4.1 || ^>= 1.5.0 + , ghcide ^>= 1.5 || ^>= 1.6 , hiedb - , hls-plugin-api ^>=1.2 + , hls-plugin-api ^>=1.2 || ^>= 1.3 , lens , lsp >=1.2.0.1 , sqlite-simple @@ -55,7 +55,7 @@ test-suite tests , extra , filepath , hls-call-hierarchy-plugin - , hls-test-utils >=1.0 && <1.2 + , hls-test-utils ^>=1.1 || ^>=1.2 , lens , lsp , lsp-test diff --git a/plugins/hls-class-plugin/hls-class-plugin.cabal b/plugins/hls-class-plugin/hls-class-plugin.cabal index 21ce5bca99..54b52c767a 100644 --- a/plugins/hls-class-plugin/hls-class-plugin.cabal +++ b/plugins/hls-class-plugin/hls-class-plugin.cabal @@ -1,6 +1,6 @@ cabal-version: 2.4 name: hls-class-plugin -version: 1.0.1.2 +version: 1.0.2.0 synopsis: Class/instance management plugin for Haskell Language Server @@ -29,8 +29,8 @@ library , containers , ghc , ghc-exactprint - , ghcide ^>=1.5.0 - , hls-plugin-api >=1.1 && <1.3 + , ghcide ^>=1.5 || ^>= 1.6 + , hls-plugin-api ^>=1.2 || ^>=1.3 , lens , lsp , text @@ -53,6 +53,6 @@ test-suite tests , base , filepath , hls-class-plugin - , hls-test-utils >=1.0 && <1.2 + , hls-test-utils ^>=1.1 || ^>=1.2 , lens , lsp-types diff --git a/plugins/hls-eval-plugin/hls-eval-plugin.cabal b/plugins/hls-eval-plugin/hls-eval-plugin.cabal index a70c68b432..e7dadb5440 100644 --- a/plugins/hls-eval-plugin/hls-eval-plugin.cabal +++ b/plugins/hls-eval-plugin/hls-eval-plugin.cabal @@ -1,6 +1,6 @@ cabal-version: 2.4 name: hls-eval-plugin -version: 1.2.0.2 +version: 1.2.1.0 synopsis: Eval plugin for Haskell Language Server description: Please see the README on GitHub at @@ -65,10 +65,10 @@ library , ghc , ghc-boot-th , ghc-paths - , ghcide >=1.5.0.1 && <1.6 + , ghcide ^>=1.5.0.1 || ^>=1.6 , hashable , hls-graph - , hls-plugin-api ^>=1.2 + , hls-plugin-api ^>=1.2 || ^>=1.3 , lens , lsp , lsp-types @@ -109,7 +109,7 @@ test-suite tests , extra , filepath , hls-eval-plugin - , hls-test-utils ^>=1.1 + , hls-test-utils ^>=1.1 || ^>=1.2 , lens , lsp-types , text diff --git a/plugins/hls-explicit-imports-plugin/hls-explicit-imports-plugin.cabal b/plugins/hls-explicit-imports-plugin/hls-explicit-imports-plugin.cabal index d74b23689c..e7b17b3959 100644 --- a/plugins/hls-explicit-imports-plugin/hls-explicit-imports-plugin.cabal +++ b/plugins/hls-explicit-imports-plugin/hls-explicit-imports-plugin.cabal @@ -1,6 +1,6 @@ cabal-version: 2.2 name: hls-explicit-imports-plugin -version: 1.0.1.2 +version: 1.0.2.0 synopsis: Explicit imports plugin for Haskell Language Server description: Please see the README on GitHub at @@ -24,9 +24,9 @@ library , containers , deepseq , ghc - , ghcide ^>=1.4 || ^>=1.5 + , ghcide ^>=1.5 || ^>=1.6 , hls-graph - , hls-plugin-api >=1.1 && <1.3 + , hls-plugin-api ^>=1.2 || ^>=1.3 , lsp , text , unordered-containers diff --git a/plugins/hls-floskell-plugin/hls-floskell-plugin.cabal b/plugins/hls-floskell-plugin/hls-floskell-plugin.cabal index 3542b47896..1eb38fdc42 100644 --- a/plugins/hls-floskell-plugin/hls-floskell-plugin.cabal +++ b/plugins/hls-floskell-plugin/hls-floskell-plugin.cabal @@ -1,6 +1,6 @@ cabal-version: 2.4 name: hls-floskell-plugin -version: 1.0.0.2 +version: 1.0.1.0 synopsis: Integration with the Floskell code formatter description: Please see the README on GitHub at @@ -22,8 +22,8 @@ library build-depends: , base >=4.12 && <5 , floskell ^>=0.10 - , ghcide >=1.2 && <1.6 - , hls-plugin-api >=1.1 && <1.3 + , ghcide ^>=1.5 || ^>=1.6 + , hls-plugin-api ^>=1.2 || ^>=1.3 , lsp-types , text , transformers @@ -40,4 +40,4 @@ test-suite tests , base , filepath , hls-floskell-plugin - , hls-test-utils >=1.0 && <1.2 + , hls-test-utils ^>=1.1 || ^>=1.2 diff --git a/plugins/hls-fourmolu-plugin/hls-fourmolu-plugin.cabal b/plugins/hls-fourmolu-plugin/hls-fourmolu-plugin.cabal index c5b87367b2..0af300e017 100644 --- a/plugins/hls-fourmolu-plugin/hls-fourmolu-plugin.cabal +++ b/plugins/hls-fourmolu-plugin/hls-fourmolu-plugin.cabal @@ -1,6 +1,6 @@ cabal-version: 2.4 name: hls-fourmolu-plugin -version: 1.0.1.2 +version: 1.0.2.0 synopsis: Integration with the Fourmolu code formatter description: Please see the README on GitHub at @@ -26,8 +26,8 @@ library , fourmolu ^>=0.3 || ^>=0.4 || ^>= 0.5 , ghc , ghc-boot-th - , ghcide ^>=1.5.0 - , hls-plugin-api >=1.1 && <1.3 + , ghcide ^>=1.5 || ^>=1.6 + , hls-plugin-api ^>=1.2 || ^>=1.3 , lens , lsp , text @@ -44,5 +44,5 @@ test-suite tests , base , filepath , hls-fourmolu-plugin - , hls-test-utils >=1.0 && <1.2 + , hls-test-utils ^>=1.1 || ^>=1.2 , lsp-test diff --git a/plugins/hls-haddock-comments-plugin/hls-haddock-comments-plugin.cabal b/plugins/hls-haddock-comments-plugin/hls-haddock-comments-plugin.cabal index cc9f140a57..e9f6862e51 100644 --- a/plugins/hls-haddock-comments-plugin/hls-haddock-comments-plugin.cabal +++ b/plugins/hls-haddock-comments-plugin/hls-haddock-comments-plugin.cabal @@ -1,6 +1,6 @@ cabal-version: 2.4 name: hls-haddock-comments-plugin -version: 1.0.0.4 +version: 1.0.1.0 synopsis: Haddock comments plugin for Haskell Language Server description: Please see the README on GitHub at @@ -29,8 +29,8 @@ library , containers , ghc , ghc-exactprint - , ghcide >=1.2 && <1.6 - , hls-plugin-api >=1.1 && <1.3 + , ghcide ^>=1.5 || ^>=1.6 + , hls-plugin-api ^>=1.2 || ^>=1.3 , lsp-types , text , unordered-containers @@ -50,5 +50,5 @@ test-suite tests , base , filepath , hls-haddock-comments-plugin - , hls-test-utils >=1.0 && <1.2 + , hls-test-utils ^>=1.1 || ^>=1.2 , text diff --git a/plugins/hls-hlint-plugin/hls-hlint-plugin.cabal b/plugins/hls-hlint-plugin/hls-hlint-plugin.cabal index 1c715cdd0a..2dd61f2a96 100644 --- a/plugins/hls-hlint-plugin/hls-hlint-plugin.cabal +++ b/plugins/hls-hlint-plugin/hls-hlint-plugin.cabal @@ -1,6 +1,6 @@ cabal-version: 2.4 name: hls-hlint-plugin -version: 1.0.2.1 +version: 1.0.3.0 synopsis: Hlint integration plugin with Haskell Language Server description: Please see the README on GitHub at @@ -55,10 +55,10 @@ library , extra , filepath , ghc-exactprint >=0.6.3.4 - , ghcide ^>=1.5.0 + , ghcide ^>=1.5 || ^>=1.6 , hashable , hlint - , hls-plugin-api >=1.1 && <1.3 + , hls-plugin-api ^>=1.2 || ^>=1.3 , hslogger , lens , lsp @@ -127,7 +127,7 @@ test-suite tests , filepath , hls-hlint-plugin , hls-plugin-api - , hls-test-utils >=1.0 && <1.2 + , hls-test-utils ^>=1.1 || ^>=1.2 , lens , lsp-types , text diff --git a/plugins/hls-module-name-plugin/hls-module-name-plugin.cabal b/plugins/hls-module-name-plugin/hls-module-name-plugin.cabal index c8f8e9152d..9d0fa9dabc 100644 --- a/plugins/hls-module-name-plugin/hls-module-name-plugin.cabal +++ b/plugins/hls-module-name-plugin/hls-module-name-plugin.cabal @@ -1,6 +1,6 @@ cabal-version: 2.4 name: hls-module-name-plugin -version: 1.0.0.4 +version: 1.0.1.0 synopsis: Module name plugin for Haskell Language Server description: Please see the README on GitHub at @@ -25,8 +25,8 @@ library , base >=4.12 && <5 , directory , filepath - , ghcide >=1.2 && <1.6 - , hls-plugin-api >=1.1 && <1.3 + , ghcide ^>=1.5 || ^>=1.6 + , hls-plugin-api ^>=1.2 || ^>=1.3 , lsp , text , transformers @@ -44,4 +44,4 @@ test-suite tests , base , filepath , hls-module-name-plugin - , hls-test-utils >=1.0 && <1.2 + , hls-test-utils ^>=1.1 || ^>=1.2 diff --git a/plugins/hls-ormolu-plugin/hls-ormolu-plugin.cabal b/plugins/hls-ormolu-plugin/hls-ormolu-plugin.cabal index a1e743e296..8c89fa4bdf 100644 --- a/plugins/hls-ormolu-plugin/hls-ormolu-plugin.cabal +++ b/plugins/hls-ormolu-plugin/hls-ormolu-plugin.cabal @@ -1,6 +1,6 @@ cabal-version: 2.4 name: hls-ormolu-plugin -version: 1.0.1.2 +version: 1.0.2.0 synopsis: Integration with the Ormolu code formatter description: Please see the README on GitHub at @@ -24,8 +24,8 @@ library , filepath , ghc , ghc-boot-th - , ghcide ^>=1.5.0 - , hls-plugin-api >=1.1 && <1.3 + , ghcide ^>=1.5 || ^>= 1.6 + , hls-plugin-api ^>=1.1 || ^>= 1.2 || ^>= 1.3 , lens , lsp , ormolu ^>=0.1.2 || ^>= 0.2 || ^>= 0.3 || ^>= 0.4 @@ -43,5 +43,5 @@ test-suite tests , base , filepath , hls-ormolu-plugin - , hls-test-utils >=1.0 && <1.2 + , hls-test-utils ^>=1.1 || ^>=1.2 , lsp-types diff --git a/plugins/hls-pragmas-plugin/hls-pragmas-plugin.cabal b/plugins/hls-pragmas-plugin/hls-pragmas-plugin.cabal index 95e1c47932..95c53df381 100644 --- a/plugins/hls-pragmas-plugin/hls-pragmas-plugin.cabal +++ b/plugins/hls-pragmas-plugin/hls-pragmas-plugin.cabal @@ -1,6 +1,6 @@ cabal-version: 2.4 name: hls-pragmas-plugin -version: 1.0.1.1 +version: 1.0.2.0 synopsis: Pragmas plugin for Haskell Language Server description: Please see the README on GitHub at @@ -25,8 +25,8 @@ library , extra , fuzzy , ghc - , ghcide >=1.2 && <1.6 - , hls-plugin-api >=1.1 && <1.3 + , ghcide ^>=1.5 || ^>=1.6 + , hls-plugin-api ^>=1.2 || ^>=1.3 , lens , lsp , text @@ -46,7 +46,7 @@ test-suite tests , base , filepath , hls-pragmas-plugin - , hls-test-utils >=1.0 && <1.2 + , hls-test-utils ^>=1.1 || ^>=1.2 , lens , lsp-types , text diff --git a/plugins/hls-qualify-imported-names-plugin/hls-qualify-imported-names-plugin.cabal b/plugins/hls-qualify-imported-names-plugin/hls-qualify-imported-names-plugin.cabal index bc19700cc9..2b10da9206 100644 --- a/plugins/hls-qualify-imported-names-plugin/hls-qualify-imported-names-plugin.cabal +++ b/plugins/hls-qualify-imported-names-plugin/hls-qualify-imported-names-plugin.cabal @@ -1,6 +1,6 @@ cabal-version: 2.2 name: hls-qualify-imported-names-plugin -version: 1.0.0.1 +version: 1.0.1.0 synopsis: A Haskell Language Server plugin that qualifies imported names description: Please see the README on GitHub at @@ -26,9 +26,9 @@ library , containers , deepseq , ghc - , ghcide ^>=1.5.0 + , ghcide ^>=1.5 || ^>= 1.6 , hls-graph - , hls-plugin-api >=1.1 && <1.3 + , hls-plugin-api ^>=1.2 || ^>=1.3 , lsp , text , unordered-containers @@ -51,4 +51,4 @@ test-suite tests , text , filepath , hls-qualify-imported-names-plugin - , hls-test-utils >=1.0 && <1.2 + , hls-test-utils ^>=1.1 || ^>=1.2 diff --git a/plugins/hls-refine-imports-plugin/hls-refine-imports-plugin.cabal b/plugins/hls-refine-imports-plugin/hls-refine-imports-plugin.cabal index 8312a76d80..54e45e43c3 100644 --- a/plugins/hls-refine-imports-plugin/hls-refine-imports-plugin.cabal +++ b/plugins/hls-refine-imports-plugin/hls-refine-imports-plugin.cabal @@ -1,6 +1,6 @@ cabal-version: 2.4 name: hls-refine-imports-plugin -version: 1.0.0.3 +version: 1.0.1.0 synopsis: Refine imports plugin for Haskell Language Server description: Please see the README on GitHub at @@ -24,10 +24,10 @@ library , containers , deepseq , ghc - , ghcide ^>=1.4 || ^>=1.5 + , ghcide ^>=1.5 || ^>=1.6 , hls-explicit-imports-plugin ^>=1.0.0.1 , hls-graph - , hls-plugin-api >=1.1 && <1.3 + , hls-plugin-api ^>=1.2 || ^>=1.3 , lsp , text , unordered-containers diff --git a/plugins/hls-rename-plugin/hls-rename-plugin.cabal b/plugins/hls-rename-plugin/hls-rename-plugin.cabal index 467eae9d43..8018faec8f 100644 --- a/plugins/hls-rename-plugin/hls-rename-plugin.cabal +++ b/plugins/hls-rename-plugin/hls-rename-plugin.cabal @@ -25,9 +25,9 @@ library , extra , ghc , ghc-exactprint - , ghcide >=1.4 && <1.6 + , hiedb - , hls-plugin-api ^>=1.2 + , hls-plugin-api ^>= 1.2 || ^>= 1.3 , lsp , lsp-types , syb @@ -46,4 +46,4 @@ test-suite tests , base , filepath , hls-rename-plugin - , hls-test-utils >=1.0 && <1.2 + , hls-test-utils ^>=1.1 || ^>=1.2 diff --git a/plugins/hls-retrie-plugin/hls-retrie-plugin.cabal b/plugins/hls-retrie-plugin/hls-retrie-plugin.cabal index 1f29a77a19..ae8265d9cd 100644 --- a/plugins/hls-retrie-plugin/hls-retrie-plugin.cabal +++ b/plugins/hls-retrie-plugin/hls-retrie-plugin.cabal @@ -1,6 +1,6 @@ cabal-version: 2.2 name: hls-retrie-plugin -version: 1.0.1.4 +version: 1.0.2.0 synopsis: Retrie integration plugin for Haskell Language Server description: Please see the README on GitHub at @@ -23,9 +23,9 @@ library , directory , extra , ghc - , ghcide ^>=1.5.0 + , ghcide ^>=1.5 || ^>=1.6 , hashable - , hls-plugin-api >=1.1 && <1.3 + , hls-plugin-api ^>=1.2 || ^>=1.3 , lsp , lsp-types , retrie >=0.1.1.0 diff --git a/plugins/hls-selection-range-plugin/hls-selection-range-plugin.cabal b/plugins/hls-selection-range-plugin/hls-selection-range-plugin.cabal index f7f557e758..d4bf0b469f 100644 --- a/plugins/hls-selection-range-plugin/hls-selection-range-plugin.cabal +++ b/plugins/hls-selection-range-plugin/hls-selection-range-plugin.cabal @@ -32,8 +32,8 @@ library , aeson , base >=4.12 && <5 , containers - , ghcide ^>=1.5.0 - , hls-plugin-api >=1.1 && <1.3 + , ghcide ^>=1.5 || ^>=1.6 + , hls-plugin-api ^>=1.2 || ^>=1.3 , lsp , transformers , mtl @@ -52,7 +52,7 @@ test-suite tests , containers , filepath , hls-selection-range-plugin - , hls-test-utils >=1.0 && <1.2 + , hls-test-utils ^>=1.1 || ^>=1.2 , lsp , lsp-test , text diff --git a/plugins/hls-splice-plugin/hls-splice-plugin.cabal b/plugins/hls-splice-plugin/hls-splice-plugin.cabal index d355a54928..62a6e68d81 100644 --- a/plugins/hls-splice-plugin/hls-splice-plugin.cabal +++ b/plugins/hls-splice-plugin/hls-splice-plugin.cabal @@ -1,6 +1,6 @@ cabal-version: 2.4 name: hls-splice-plugin -version: 1.0.0.6 +version: 1.0.1.0 synopsis: HLS Plugin to expand TemplateHaskell Splices and QuasiQuotes @@ -38,8 +38,8 @@ library , foldl , ghc , ghc-exactprint - , ghcide ^>=1.5.0 - , hls-plugin-api >=1.1 && <1.3 + , ghcide ^>=1.5 || ^>=1.6 + , hls-plugin-api ^>=1.2 || ^>=1.3 , lens , lsp , retrie @@ -64,5 +64,5 @@ test-suite tests , base , filepath , hls-splice-plugin - , hls-test-utils >=1.0 && <1.2 + , hls-test-utils ^>=1.1 || ^>=1.2 , text diff --git a/plugins/hls-stylish-haskell-plugin/hls-stylish-haskell-plugin.cabal b/plugins/hls-stylish-haskell-plugin/hls-stylish-haskell-plugin.cabal index 6af3e4bb3a..a8011fd69c 100644 --- a/plugins/hls-stylish-haskell-plugin/hls-stylish-haskell-plugin.cabal +++ b/plugins/hls-stylish-haskell-plugin/hls-stylish-haskell-plugin.cabal @@ -1,6 +1,6 @@ cabal-version: 2.4 name: hls-stylish-haskell-plugin -version: 1.0.0.4 +version: 1.0.1.0 synopsis: Integration with the Stylish Haskell code formatter description: Please see the README on GitHub at @@ -24,8 +24,8 @@ library , filepath , ghc , ghc-boot-th - , ghcide ^>=1.5.0 - , hls-plugin-api >=1.1 && <1.3 + , ghcide ^>=1.5 || ^>=1.6 + , hls-plugin-api ^>=1.2 || ^>=1.3 , lsp-types , stylish-haskell ^>=0.12 || ^>=0.13 , text @@ -42,4 +42,4 @@ test-suite tests , base , filepath , hls-stylish-haskell-plugin - , hls-test-utils >=1.0 && <1.2 + , hls-test-utils ^>=1.1 || ^>=1.2 diff --git a/plugins/hls-tactics-plugin/hls-tactics-plugin.cabal b/plugins/hls-tactics-plugin/hls-tactics-plugin.cabal index d4a00bb96f..253fcb81bd 100644 --- a/plugins/hls-tactics-plugin/hls-tactics-plugin.cabal +++ b/plugins/hls-tactics-plugin/hls-tactics-plugin.cabal @@ -1,7 +1,7 @@ cabal-version: 2.4 category: Development name: hls-tactics-plugin -version: 1.5.0.1 +version: 1.6.0.0 synopsis: Wingman plugin for Haskell Language Server description: Please see the README on GitHub at @@ -82,9 +82,9 @@ library , ghc-boot-th , ghc-exactprint , ghc-source-gen ^>=0.4.1 - , ghcide ^>=1.5.0 + , ghcide ^>=1.5 || ^>=1.6 , hls-graph - , hls-plugin-api >=1.1 && <1.3 + , hls-plugin-api ^>=1.2 || ^>=1.3 , hyphenation , lens , lsp @@ -160,7 +160,7 @@ test-suite tests , ghcide , hls-plugin-api , hls-tactics-plugin - , hls-test-utils >=1.0 && <1.2 + , hls-test-utils ^>=1.1 || ^>=1.2 , hspec , hspec-expectations , lens diff --git a/shake-bench/shake-bench.cabal b/shake-bench/shake-bench.cabal index 948b10dace..8c7f5d3f5c 100644 --- a/shake-bench/shake-bench.cabal +++ b/shake-bench/shake-bench.cabal @@ -1,6 +1,6 @@ cabal-version: 2.2 name: shake-bench -version: 0.1.0.2 +version: 0.1.0.3 synopsis: Build rules for historical benchmarking license: Apache-2.0 license-file: LICENSE From 32cafcd87652e24a812dbdff7db343c47562a50d Mon Sep 17 00:00:00 2001 From: jneira Date: Wed, 26 Jan 2022 14:16:14 +0100 Subject: [PATCH 17/38] Update hackage index --- cabal-ghc90.project | 2 +- cabal-ghc921.project | 2 +- cabal.project | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cabal-ghc90.project b/cabal-ghc90.project index 6e9ff499bb..fa4961a8bd 100644 --- a/cabal-ghc90.project +++ b/cabal-ghc90.project @@ -36,7 +36,7 @@ package * write-ghc-environment-files: never -index-state: 2022-01-21T11:23:29Z +index-state: 2022-01-24T21:03:03Z constraints: -- These plugins don't work on GHC9 yet diff --git a/cabal-ghc921.project b/cabal-ghc921.project index e10700f81a..308a9e8c8f 100644 --- a/cabal-ghc921.project +++ b/cabal-ghc921.project @@ -38,7 +38,7 @@ package * write-ghc-environment-files: never -index-state: 2022-01-21T11:23:29Z +index-state: 2022-01-24T21:03:03Z constraints: -- These plugins don't build/work on GHC92 yet diff --git a/cabal.project b/cabal.project index 96fb8153f0..34a5106149 100644 --- a/cabal.project +++ b/cabal.project @@ -41,7 +41,7 @@ package * write-ghc-environment-files: never -index-state: 2022-01-21T11:23:29Z +index-state: 2022-01-24T21:03:03Z constraints: hyphenation +embed From 758e43fdf745f9c272e8ba2c993b7d573a28db1f Mon Sep 17 00:00:00 2001 From: jneira Date: Wed, 26 Jan 2022 14:48:02 +0100 Subject: [PATCH 18/38] Add ghcide in rename plugin --- plugins/hls-rename-plugin/hls-rename-plugin.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/hls-rename-plugin/hls-rename-plugin.cabal b/plugins/hls-rename-plugin/hls-rename-plugin.cabal index 8018faec8f..8c1b946803 100644 --- a/plugins/hls-rename-plugin/hls-rename-plugin.cabal +++ b/plugins/hls-rename-plugin/hls-rename-plugin.cabal @@ -25,7 +25,7 @@ library , extra , ghc , ghc-exactprint - + , ghcide ^>=1.5 || ^>=1.6 , hiedb , hls-plugin-api ^>= 1.2 || ^>= 1.3 , lsp From 32480cef415c7dbaa01d5a8fff563d79c01678b1 Mon Sep 17 00:00:00 2001 From: jneira Date: Wed, 26 Jan 2022 17:16:03 +0100 Subject: [PATCH 19/38] Apply linter and add selection demo --- docs/features.md | 42 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/docs/features.md b/docs/features.md index 78d8ccc411..28f932e8b6 100644 --- a/docs/features.md +++ b/docs/features.md @@ -26,35 +26,43 @@ Additionally, not all plugins are supported on all versions of GHC, see the [GHC ## Diagnostics ### GHC compiler errors and warnings + Provided by: `ghcide` Provides errors and warnings from GHC as diagnostics. ### Hlint hints + Provided by: `hls-hlint-plugin` Provides hlint hints as diagnostics. ## Hovers + Provided by: `ghcide` Type information and documentation on hover, [including from local definitions](./configuration.md#how-to-show-local-documentation-on-hover). ## Jump to definition + Provided by: `ghcide` Jump to the definition of a name. Known limitations: + - Only works for [local definitions](https://github.com/haskell/haskell-language-server/issues/708). ## Jump to type definition + Provided by: `ghcide` Known limitations: + - Only works for [local definitions](https://github.com/haskell/haskell-language-server/issues/708). ## Find references + Provided by: `ghcide` Find references to a name within the project. @@ -62,17 +70,20 @@ Find references to a name within the project. ## Completions ### Code completions + Provided by: `ghcide` - Completion of names from qualified imports. - Completion of names from non-imported modules. ### Pragma completions + Provided by: `hls-pragmas-plugin` Completions for language pragmas. ## Formatting + Format your code with various Haskell code formatters. | Formatter | Provided by | @@ -84,16 +95,19 @@ Format your code with various Haskell code formatters. | Stylish Haskell | `hls-stylish-haskell-plugin` | ## Document symbols + Provided by: `ghcide` Provides listing of the symbols defined in a module, used to power outline displays. ## Workspace symbols + Provided by: `ghcide` Provides listing of the symbols defined in the project, used to power searches. ## Call hierarchy + Provided by: `hls-call-hierarchy-plugin` Shows ingoing and outgoing calls for a function. @@ -101,6 +115,7 @@ Shows ingoing and outgoing calls for a function. ![Call Hierarchy in VSCode](https://github.com/haskell/haskell-language-server/raw/2857eeece0398e1cd4b2ffb6069b05c4d2308b39/plugins/hls-call-hierarchy-plugin/call-hierarchy-in-vscode.gif) ## Highlight references + Provided by: `ghcide` Highlights references to a name in a document. @@ -108,6 +123,7 @@ Highlights references to a name in a document. ## Code actions ### Insert missing pragmas + Provided by: `hls-pragma-plugin` Code action kind: `quickfix` @@ -115,6 +131,7 @@ Code action kind: `quickfix` Inserts missing pragmas needed by GHC. ### Apply Hlint fixes + Provided by: `hls-hlint-plugin` Code action kind: `quickfix` @@ -125,9 +142,11 @@ Uses [apply-refact](https://github.com/mpickering/apply-refact). ![Hlint Demo](https://user-images.githubusercontent.com/54035/110860028-8f9fa900-82bc-11eb-9fe5-6483d8bb95e6.gif) Known limitations: + - May have strange behaviour in files with CPP, since `apply-refact` does not support CPP. ### Make import lists fully explicit + Provided by: `hls-explicit-imports-plugin` Code action kind: `quickfix.literals.style` @@ -135,6 +154,7 @@ Code action kind: `quickfix.literals.style` Make import lists fully explicit (same as the code lens). ### Qualify imported names + Provided by: `hls-qualify-imported-names-plugin` Code action kind: `quickfix` @@ -146,6 +166,7 @@ Rewrites imported names to be qualified. For usage see the ![readme](../plugins/hls-qualify-imported-names-plugin/README.md). ### Refine import + Provided by: `hls-refine-imports-plugin` Code action kind: `quickfix.import.refine` @@ -153,6 +174,7 @@ Code action kind: `quickfix.import.refine` Refines imports to more specific modules when names are re-exported (same as the code lens). ### Add missing class methods + Provided by: `hls-class-plugin` Code action kind: `quickfix` @@ -160,6 +182,7 @@ Code action kind: `quickfix` Adds placeholders for missing class methods in a class instance definition. ### Unfold definition + Provided by: `hls-retrie-plugin` Code action kind: `refactor.extract` @@ -167,6 +190,7 @@ Code action kind: `refactor.extract` Extracts a definition from the code. ### Fold definition + Provided by: `hls-retrie-plugin` Code action kind: `refactor.inline` @@ -176,6 +200,7 @@ Inlines a definition from the code. ![Retrie Demo](https://i.imgur.com/Ev7B87k.gif) ### Insert contents of Template Haskell splice + Provided by: `hls-splice-plugin` Code action kind: `refactor.rewrite` @@ -183,6 +208,7 @@ Code action kind: `refactor.rewrite` Evaluates a Template Haskell splice and inserts the resulting code in its place. ### Convert numbers to alternative formats + Provided by: `hls-alternate-number-format-plugin` Code action kind: `quickfix.literals.style` @@ -192,6 +218,7 @@ Converts numeric literals to different formats. ![Alternate Number Format Demo](../plugins/hls-alternate-number-format-plugin/HLSAll.gif) ### Add Haddock comments + Provided by: `hls-haddock-comments-plugin` Code action kind: `quickfix` @@ -199,41 +226,47 @@ Code action kind: `quickfix` Adds Haddock comments for function arguments. ### Wingman + Status: Not supported on GHC 9.2 Provided by: `hls-tactics-plugin` -Provides a variety of code actions for interactive code development, see https://haskellwingman.dev/ for more details. +Provides a variety of code actions for interactive code development, see for more details. ![Wingman Demo](https://user-images.githubusercontent.com/307223/92657198-3d4be400-f2a9-11ea-8ad3-f541c8eea891.gif) ## Code lenses ### Add type signature + Provided by: `ghcide` Shows the type signature for bindings without type signatures, and adds it with a click. ### Evaluation code snippets in comments + Provided by: `hls-eval-plugin` Evaluates code blocks in comments with a click. [Tutorial](https://github.com/haskell/haskell-language-server/blob/master/plugins/hls-eval-plugin/README.md). ![Eval Demo](https://raw.githubusercontent.com/haskell/haskell-language-server/master/plugins/hls-eval-plugin/demo.gif) -### Make import lists fully explicit +### Make import lists fully explicit code lens + Provided by: `hls-explicit-imports-plugin` Shows fully explicit import lists and rewrites them with a click (same as the code action). ![Imports code lens Demo](https://imgur.com/pX9kvY4.gif) -### Refine import +### Refine import code lens + Provided by: `hls-refine-imports-plugin` Shows refined imports and applies them with a click (same as the code action). ### Fix module names + Provided by: `hls-module-name-plugin` Shows module name matching file path, and applies it with a click. @@ -241,12 +274,15 @@ Shows module name matching file path, and applies it with a click. ![Module Name Demo](https://user-images.githubusercontent.com/54035/110860755-78ad8680-82bd-11eb-9845-9ea4b1cc1f76.gif) ## Selection range + Provided by: `hls-selection-range-plugin` Provides haskell specific [shrink/expand selection](https://code.visualstudio.com/docs/editor/codebasics#shrinkexpand-selection) support. +![Selection range demo](https://user-images.githubusercontent.com/16440269/150301502-4c002605-9f8d-43f5-86d3-28846942c4ff.mov) + ## Missing features The following features are supported by the LSP specification but not implemented in HLS. From e631256dd581b43bc6429721cd26fe2a9beac0a8 Mon Sep 17 00:00:00 2001 From: jneira Date: Wed, 26 Jan 2022 17:17:04 +0100 Subject: [PATCH 20/38] Add header linkable --- docs/supported-versions.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/supported-versions.md b/docs/supported-versions.md index ae2fef71a4..18bbdf509f 100644 --- a/docs/supported-versions.md +++ b/docs/supported-versions.md @@ -30,6 +30,8 @@ Additionally, some plugins do not have support for some GHC versions, as shown i As such, the functionality provided by those plugins is not available in HLS when using a GHC version which they do not support. Sometimes a plugin can be supported in prebuilt binaries but no in a hls binary installed from hackage. +### Plugins support by ghc version + | Plugin | Unsupported GHC versions | |-------------------------------------|--------------------------| | `hls-alternate-number-plugin` | 9.2 | From db41e4e943d3c8c682452e2d7c1e62d9aba22311 Mon Sep 17 00:00:00 2001 From: jneira Date: Wed, 26 Jan 2022 17:18:40 +0100 Subject: [PATCH 21/38] Add first version of release description --- ChangeLog.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/ChangeLog.md b/ChangeLog.md index 6600eb47ff..ae290df2ff 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -2,6 +2,29 @@ ## 1.6.0 +Time for a new and exciting hls release: + +- It includes *three* brand new plugins: + - [Alternate number literals](https://haskell-language-server.readthedocs.io/en/latest/features.html#convert-numbers-to-alternative-formats) thanks to @drsooch + - [Qualify imported names](https://haskell-language-server.readthedocs.io/en/latest/features.html#qualify-imported-names) thanks to @eddiemundo + - New plugin to support [selection range](https://haskell-language-server.readthedocs.io/en/latest/features.html#selection-range) (aka double click text selection) thanks to @kokobd +- Finally hls [supports *ghc 9.2.1*](https://github.com/haskell/haskell-language-server/issues/2179) + - Including core features and [many plugins](https://haskell-language-server.readthedocs.io/en/latest/supported-versions.html#plugins-support-by-ghc-version)) + - Thanks to a great collective effort coordinated by @pepeiborra and with the help of @wz100, @mpickering and @alanz among others +- Hls now also [supports *ghc 9.0.2*](https://github.com/haskell/haskell-language-server/issues/297) with support for all plugins but the stylish-haskell formatter +- And many many fixes and performance improvement + +### Deprecation notice for 1.6.0 + +- As we noted in the previous release we have dropped support for ghc versions 8.10.5 and 8.8.3 in *this release* + - The advise is upgrade ghc to the last minor version: 8.8.4 or 8.10.7 + - You can read more about ghc deprecation policy and schedule [here](https://haskell-language-server.readthedocs.io/en/latest/supported-versions.html) +- *After this release*: + - [We will remove all project stack.yaml's](https://github.com/haskell/haskell-language-server/issues/2533) but two: one for last lts and other for nightly. Temporary we could keep one more stack yaml when nightly upgrades the ghc version, to help in the transition + - [We will remove the install script](https://github.com/haskell/haskell-language-server/issues/2491) which lives [here](https://github.com/haskell/haskell-language-server/tree/master/install) + - The advise is install hls from source using `ghcup`. Download it and run `ghcup compile hls --help` to get moreinfo about. + - Alternatively users could install hls manually following [these instructions](https://haskell-language-server.readthedocs.io/en/latest/installation.html#installation-from-source) + ### Pull requests merged for 1.6.0 - Disable alpine build by default From 971e9238207c271c3bfe7de9992f197232969878 Mon Sep 17 00:00:00 2001 From: jneira Date: Wed, 26 Jan 2022 17:36:59 +0100 Subject: [PATCH 22/38] Add last prs --- ChangeLog.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ChangeLog.md b/ChangeLog.md index ae290df2ff..616bb29852 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -29,6 +29,10 @@ Time for a new and exciting hls release: - Disable alpine build by default ([#2638](https://github.com/haskell/haskell-language-server/pull/2638)) by @jneira +- Use T.decodeUtf8 + BS.readFile instead of T.readFile +([#2637](https://github.com/haskell/haskell-language-server/pull/2637)) by @Bodigrim +- Add ghc 9.2.1 to gitlab ci +([#2636](https://github.com/haskell/haskell-language-server/pull/2636)) by @jneira - Specialize ghcide indent style to .hs ([#2631](https://github.com/haskell/haskell-language-server/pull/2631)) by @mrgutkun - Fix off by one indexing error in openingBacktick From 14c895a758090a937596996705292ab7a7634447 Mon Sep 17 00:00:00 2001 From: jneira Date: Wed, 26 Jan 2022 18:39:57 +0100 Subject: [PATCH 23/38] Mention wingman --- ChangeLog.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ChangeLog.md b/ChangeLog.md index 616bb29852..f64a080ad6 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -12,7 +12,8 @@ Time for a new and exciting hls release: - Including core features and [many plugins](https://haskell-language-server.readthedocs.io/en/latest/supported-versions.html#plugins-support-by-ghc-version)) - Thanks to a great collective effort coordinated by @pepeiborra and with the help of @wz100, @mpickering and @alanz among others - Hls now also [supports *ghc 9.0.2*](https://github.com/haskell/haskell-language-server/issues/297) with support for all plugins but the stylish-haskell formatter -- And many many fixes and performance improvement + - Including the [wingman plugin](https://github.com/haskell/haskell-language-server/tree/master/plugins/hls-tactics-plugin) thanks to @isovector and @anka-213 +- And many many fixes and performance improvements, thanks to all contributors! ### Deprecation notice for 1.6.0 From 3cb5787d718114fecb314ae7e0248b347f3e0739 Mon Sep 17 00:00:00 2001 From: Javier Neira Date: Wed, 26 Jan 2022 18:43:31 +0100 Subject: [PATCH 24/38] Grammar corrections Co-authored-by: Jan Hrcek <2716069+jhrcek@users.noreply.github.com> --- ChangeLog.md | 4 ++-- docs/supported-versions.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ChangeLog.md b/ChangeLog.md index f64a080ad6..fc9f27c267 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -18,12 +18,12 @@ Time for a new and exciting hls release: ### Deprecation notice for 1.6.0 - As we noted in the previous release we have dropped support for ghc versions 8.10.5 and 8.8.3 in *this release* - - The advise is upgrade ghc to the last minor version: 8.8.4 or 8.10.7 + - We recommend upgrading ghc to the last minor version: 8.8.4 or 8.10.7 - You can read more about ghc deprecation policy and schedule [here](https://haskell-language-server.readthedocs.io/en/latest/supported-versions.html) - *After this release*: - [We will remove all project stack.yaml's](https://github.com/haskell/haskell-language-server/issues/2533) but two: one for last lts and other for nightly. Temporary we could keep one more stack yaml when nightly upgrades the ghc version, to help in the transition - [We will remove the install script](https://github.com/haskell/haskell-language-server/issues/2491) which lives [here](https://github.com/haskell/haskell-language-server/tree/master/install) - - The advise is install hls from source using `ghcup`. Download it and run `ghcup compile hls --help` to get moreinfo about. + - If you want to install hls from source we recommend using `ghcup`. Download it and run `ghcup compile hls --help` to get more info about. - Alternatively users could install hls manually following [these instructions](https://haskell-language-server.readthedocs.io/en/latest/installation.html#installation-from-source) ### Pull requests merged for 1.6.0 diff --git a/docs/supported-versions.md b/docs/supported-versions.md index 18bbdf509f..4e740cc912 100644 --- a/docs/supported-versions.md +++ b/docs/supported-versions.md @@ -28,7 +28,7 @@ The policy for when we deprecate support for versions of GHC is given below. The Additionally, some plugins do not have support for some GHC versions, as shown in the following table. As such, the functionality provided by those plugins is not available in HLS when using a GHC version which they do not support. -Sometimes a plugin can be supported in prebuilt binaries but no in a hls binary installed from hackage. +Sometimes a plugin can be supported in prebuilt binaries but not in a hls binary installed from hackage. ### Plugins support by ghc version From 43439c421fb8d5e08c7bf96f2ec0516f96479484 Mon Sep 17 00:00:00 2001 From: Javier Neira Date: Wed, 26 Jan 2022 18:56:34 +0100 Subject: [PATCH 25/38] Correct mention Co-authored-by: Pepe Iborra --- ChangeLog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ChangeLog.md b/ChangeLog.md index fc9f27c267..4831237e61 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -10,7 +10,7 @@ Time for a new and exciting hls release: - New plugin to support [selection range](https://haskell-language-server.readthedocs.io/en/latest/features.html#selection-range) (aka double click text selection) thanks to @kokobd - Finally hls [supports *ghc 9.2.1*](https://github.com/haskell/haskell-language-server/issues/2179) - Including core features and [many plugins](https://haskell-language-server.readthedocs.io/en/latest/supported-versions.html#plugins-support-by-ghc-version)) - - Thanks to a great collective effort coordinated by @pepeiborra and with the help of @wz100, @mpickering and @alanz among others + - Thanks to a great collective effort coordinated by @pepeiborra and with the help of @wz1000, @mpickering and @alanz among others - Hls now also [supports *ghc 9.0.2*](https://github.com/haskell/haskell-language-server/issues/297) with support for all plugins but the stylish-haskell formatter - Including the [wingman plugin](https://github.com/haskell/haskell-language-server/tree/master/plugins/hls-tactics-plugin) thanks to @isovector and @anka-213 - And many many fixes and performance improvements, thanks to all contributors! From 539f00cfb97143a28d77b58ac1e8880b8d94c5aa Mon Sep 17 00:00:00 2001 From: jneira Date: Wed, 26 Jan 2022 19:20:09 +0100 Subject: [PATCH 26/38] Warn about th in docs --- docs/troubleshooting.md | 7 ++++++- ghcide/src/Development/IDE/Core/Rules.hs | 10 +++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md index ceb1fd1e3c..d4f29150e4 100644 --- a/docs/troubleshooting.md +++ b/docs/troubleshooting.md @@ -29,14 +29,17 @@ That will also require you to figure out is whether you are looking at an issue This can be tricky to work out: if in doubt, open an issue and we'll help you figure it out. Typical examples of client issues: + - The wrong server binary is being launched - Diagnostics are being shown in the wrong place Typical examples of server issues: + - The server crashes on certain files - A code action doesn't work the way it's supposed to Unclear examples: + - Hover documentation looks wrong (the client might be rendering it wrong, or the server might be sending the wrong thing) - Missing functionality (the client might not support it, or the server might not support it) @@ -120,6 +123,7 @@ The most important thing to do is to consult the client's documentation. Usually this will provide some information about troubleshooting. For example: + - `lsp-mode` has a [troubleshooting page](https://emacs-lsp.github.io/lsp-mode/page/troubleshooting/) - The VSCode Haskell extension has a [troubleshooting section](https://github.com/haskell/vscode-haskell#investigating-and-reporting-problems) @@ -181,10 +185,11 @@ Example with `tasty-discover`: {-# OPTIONS_GHC -F -pgmF tasty-discover #-} ``` -This returns an error in HLS if `tasty-discover`` is not in the path: `could not execute: tasty-discover`. +This returns an error in HLS if `tasty-discover` is not in the path: `could not execute: tasty-discover`. ### Problems with multi component support using stack Due to some limitations in the interaction between HLS and `stack`, there are [issues](https://github.com/haskell/haskell-language-server/issues/366) in projects with multiple components (i.e. a main library and executables, test suites or benchmarks): + - The project has to be built succesfully *before* loading it with HLS to get components other than the library work. - Changes in the library are not automatically propagated to other components, especially in the presence of errors in the library. So you have to restart HLS in order for those components to be loaded correctly. The usual symptom is the editor showing errors like `Could not load module ...` or `Cannot satisfy -package ...`. diff --git a/ghcide/src/Development/IDE/Core/Rules.hs b/ghcide/src/Development/IDE/Core/Rules.hs index e30a0a26e2..b9f95193f4 100644 --- a/ghcide/src/Development/IDE/Core/Rules.hs +++ b/ghcide/src/Development/IDE/Core/Rules.hs @@ -147,11 +147,11 @@ import Ide.Types (DynFlagsModificat PluginId) import Control.Concurrent.STM.Stats (atomically) import Language.LSP.Server (LspT) -import System.Info.Extra (isMac) +import System.Info.Extra (isWindows) import HIE.Bios.Ghc.Gap (hostIsDynamic) templateHaskellInstructions :: T.Text -templateHaskellInstructions = "https://haskell-language-server.readthedocs.io/en/latest/troubleshooting.html#support-for-template-haskell" +templateHaskellInstructions = "https://haskell-language-server.readthedocs.io/en/latest/troubleshooting.html#static-binaries" -- | This is useful for rules to convert rules that can only produce errors or -- a result into the more general IdeResult type that supports producing @@ -824,12 +824,12 @@ isHiFileStableRule = defineEarlyCutoff $ RuleNoDiagnostics $ \IsHiFileStable f - displayTHWarning :: LspT c IO () displayTHWarning - | isMac && not hostIsDynamic = do + | not isWindows && not hostIsDynamic = do LSP.sendNotification SWindowShowMessage $ ShowMessageParams MtInfo $ T.unwords - [ "This HLS binary does not support Template Haskell." + [ "This HLS binary might not support Template Haskell." , "Follow the [instructions](" <> templateHaskellInstructions <> ")" - , "to build an HLS binary with support for Template Haskell." + , "to build an HLS binary with reliable support for Template Haskell." ] | otherwise = return () From 0f67aba19398a8bfef18febe6b01b42bdee1ee3b Mon Sep 17 00:00:00 2001 From: jneira Date: Wed, 26 Jan 2022 22:44:27 +0100 Subject: [PATCH 27/38] Remove reference to install doc --- ChangeLog.md | 1 - 1 file changed, 1 deletion(-) diff --git a/ChangeLog.md b/ChangeLog.md index 4831237e61..19737fcf97 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -24,7 +24,6 @@ Time for a new and exciting hls release: - [We will remove all project stack.yaml's](https://github.com/haskell/haskell-language-server/issues/2533) but two: one for last lts and other for nightly. Temporary we could keep one more stack yaml when nightly upgrades the ghc version, to help in the transition - [We will remove the install script](https://github.com/haskell/haskell-language-server/issues/2491) which lives [here](https://github.com/haskell/haskell-language-server/tree/master/install) - If you want to install hls from source we recommend using `ghcup`. Download it and run `ghcup compile hls --help` to get more info about. - - Alternatively users could install hls manually following [these instructions](https://haskell-language-server.readthedocs.io/en/latest/installation.html#installation-from-source) ### Pull requests merged for 1.6.0 From 7fbe53b740db3e1cb3950ecaa8ba96e4fb3b3054 Mon Sep 17 00:00:00 2001 From: Javier Neira Date: Wed, 26 Jan 2022 23:00:01 +0100 Subject: [PATCH 28/38] Rephrasing Co-authored-by: J. S. --- .github/actions/setup-build/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/setup-build/action.yml b/.github/actions/setup-build/action.yml index 9766c7238e..7b69d482e2 100644 --- a/.github/actions/setup-build/action.yml +++ b/.github/actions/setup-build/action.yml @@ -16,7 +16,7 @@ inputs: required: false default: "" shorten-hls: - description: "Wether we have to apply shorten hls name" + description: "Whether we have to shorten haskell language server to hls" required: false default: "true" From 713c9eb8783ccbff9d8ba544682b53408166085d Mon Sep 17 00:00:00 2001 From: Javier Neira Date: Thu, 27 Jan 2022 08:12:38 +0100 Subject: [PATCH 29/38] Better style Co-authored-by: Junyoung "Clare" Jang --- ChangeLog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ChangeLog.md b/ChangeLog.md index 19737fcf97..21b379bd95 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -11,7 +11,7 @@ Time for a new and exciting hls release: - Finally hls [supports *ghc 9.2.1*](https://github.com/haskell/haskell-language-server/issues/2179) - Including core features and [many plugins](https://haskell-language-server.readthedocs.io/en/latest/supported-versions.html#plugins-support-by-ghc-version)) - Thanks to a great collective effort coordinated by @pepeiborra and with the help of @wz1000, @mpickering and @alanz among others -- Hls now also [supports *ghc 9.0.2*](https://github.com/haskell/haskell-language-server/issues/297) with support for all plugins but the stylish-haskell formatter +- Hls now also [supports *ghc 9.0.2*](https://github.com/haskell/haskell-language-server/issues/297) with all plugins but the stylish-haskell formatter - Including the [wingman plugin](https://github.com/haskell/haskell-language-server/tree/master/plugins/hls-tactics-plugin) thanks to @isovector and @anka-213 - And many many fixes and performance improvements, thanks to all contributors! From a0a5808f30af6bafcaa20015816870ee0f45ba3d Mon Sep 17 00:00:00 2001 From: jneira Date: Thu, 27 Jan 2022 08:52:10 +0100 Subject: [PATCH 30/38] Use could to stress it likely will not work --- ghcide/src/Development/IDE/Core/Rules.hs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ghcide/src/Development/IDE/Core/Rules.hs b/ghcide/src/Development/IDE/Core/Rules.hs index b9f95193f4..46a6e96400 100644 --- a/ghcide/src/Development/IDE/Core/Rules.hs +++ b/ghcide/src/Development/IDE/Core/Rules.hs @@ -827,8 +827,8 @@ displayTHWarning | not isWindows && not hostIsDynamic = do LSP.sendNotification SWindowShowMessage $ ShowMessageParams MtInfo $ T.unwords - [ "This HLS binary might not support Template Haskell." - , "Follow the [instructions](" <> templateHaskellInstructions <> ")" + [ "This HLS binary could not support Template Haskell." + , "Follow this [instructions](" <> templateHaskellInstructions <> ")" , "to build an HLS binary with reliable support for Template Haskell." ] | otherwise = return () From 63937af001f49c17cf4c2bde01f8d7e365f4ae48 Mon Sep 17 00:00:00 2001 From: jneira Date: Thu, 27 Jan 2022 08:57:06 +0100 Subject: [PATCH 31/38] REmove reliable from the warning --- ghcide/src/Development/IDE/Core/Rules.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ghcide/src/Development/IDE/Core/Rules.hs b/ghcide/src/Development/IDE/Core/Rules.hs index 46a6e96400..ed897d2852 100644 --- a/ghcide/src/Development/IDE/Core/Rules.hs +++ b/ghcide/src/Development/IDE/Core/Rules.hs @@ -829,7 +829,7 @@ displayTHWarning ShowMessageParams MtInfo $ T.unwords [ "This HLS binary could not support Template Haskell." , "Follow this [instructions](" <> templateHaskellInstructions <> ")" - , "to build an HLS binary with reliable support for Template Haskell." + , "to build an HLS binary with support for Template Haskell." ] | otherwise = return () From 024aad122aee06b2fcabffe6fb297735753db2d4 Mon Sep 17 00:00:00 2001 From: jneira Date: Thu, 27 Jan 2022 09:21:30 +0100 Subject: [PATCH 32/38] Reorder comments --- .github/workflows/test.yml | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e26842b26e..e8bbb11eda 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -117,6 +117,9 @@ jobs: run: cabal build || cabal build || cabal build - name: Set test options + # run the tests without parallelism, otherwise tasty will attempt to run + # all functional test cases simultaneously which causes way too many hls + # instances to be spun up for the poor github actions runner to handle run: | echo "TEST_OPTS=-j1 --rerun-update --rerun-filter failures,exceptions" >> $GITHUB_ENV @@ -142,9 +145,6 @@ jobs: env: HLS_TEST_EXE: hls HLS_WRAPPER_TEST_EXE: hls-wrapper - # run the tests without parallelism, otherwise tasty will attempt to run - # all functional test cases simultaneously which causes way too many hls - # instances to be spun up for the poor github actions runner to handle run: cabal test func-test --test-options="$TEST_OPTS" || cabal test func-test --test-options="$TEST_OPTS" || LSP_TEST_LOG_COLOR=0 LSP_TEST_LOG_MESSAGES=true LSP_TEST_LOG_STDERR=true cabal test func-test --test-options="$TEST_OPTS" - if: matrix.test @@ -152,10 +152,6 @@ jobs: env: HLS_TEST_EXE: hls HLS_WRAPPER_TEST_EXE: hls-wrapper - # run the tests without parallelism, otherwise tasty will attempt to run - # all functional test cases simultaneously which causes way too many hls - # instances to be spun up for the poor github actions runner to handle - run: cabal test wrapper-test --test-options="$TEST_OPTS --rerun-log-file .tasty-rerun-log-wrapper" || cabal test wrapper-test --test-options="$TEST_OPTS --rerun-log-file .tasty-rerun-log-wrapper" || cabal test wrapper-test --test-options="$TEST_OPTS --rerun-log-file .tasty-rerun-log-wrapper" - if: matrix.test && matrix.ghc != '9.2.1' From b1b287f0bacc253c0a57aab68489130a88c36d08 Mon Sep 17 00:00:00 2001 From: Javier Neira Date: Thu, 27 Jan 2022 13:34:16 +0100 Subject: [PATCH 33/38] Rephrasing Co-authored-by: Michael Peyton Jones --- docs/supported-versions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/supported-versions.md b/docs/supported-versions.md index 4e740cc912..4eb57562e5 100644 --- a/docs/supported-versions.md +++ b/docs/supported-versions.md @@ -28,7 +28,7 @@ The policy for when we deprecate support for versions of GHC is given below. The Additionally, some plugins do not have support for some GHC versions, as shown in the following table. As such, the functionality provided by those plugins is not available in HLS when using a GHC version which they do not support. -Sometimes a plugin can be supported in prebuilt binaries but not in a hls binary installed from hackage. +Sometimes a plugin will be supported in the prebuilt binaries but not in a HLS binary installed from Hackage. ### Plugins support by ghc version From 6f1717482f9e7b13facfd20aa4cc64065db84fc6 Mon Sep 17 00:00:00 2001 From: Javier Neira Date: Thu, 27 Jan 2022 16:12:35 +0100 Subject: [PATCH 34/38] Update docs/supported-versions.md Co-authored-by: Michael Peyton Jones --- docs/supported-versions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/supported-versions.md b/docs/supported-versions.md index 4eb57562e5..7094fdc023 100644 --- a/docs/supported-versions.md +++ b/docs/supported-versions.md @@ -30,7 +30,7 @@ Additionally, some plugins do not have support for some GHC versions, as shown i As such, the functionality provided by those plugins is not available in HLS when using a GHC version which they do not support. Sometimes a plugin will be supported in the prebuilt binaries but not in a HLS binary installed from Hackage. -### Plugins support by ghc version +### Plugins support by GHC version | Plugin | Unsupported GHC versions | |-------------------------------------|--------------------------| From f62cb178fc17b9435284c1b881c714210a190a74 Mon Sep 17 00:00:00 2001 From: jneira Date: Thu, 27 Jan 2022 16:55:43 +0100 Subject: [PATCH 35/38] Use last version of internal deps --- ghcide/ghcide.cabal | 2 +- haskell-language-server.cabal | 6 +++--- hls-plugin-api/hls-plugin-api.cabal | 2 +- hls-test-utils/hls-test-utils.cabal | 4 ++-- .../hls-alternate-number-format-plugin.cabal | 6 +++--- plugins/hls-brittany-plugin/hls-brittany-plugin.cabal | 6 +++--- .../hls-call-hierarchy-plugin.cabal | 4 ++-- plugins/hls-class-plugin/hls-class-plugin.cabal | 6 +++--- plugins/hls-eval-plugin/hls-eval-plugin.cabal | 6 +++--- .../hls-explicit-imports-plugin.cabal | 4 ++-- plugins/hls-floskell-plugin/hls-floskell-plugin.cabal | 6 +++--- plugins/hls-fourmolu-plugin/hls-fourmolu-plugin.cabal | 6 +++--- .../hls-haddock-comments-plugin.cabal | 6 +++--- plugins/hls-hlint-plugin/hls-hlint-plugin.cabal | 6 +++--- plugins/hls-module-name-plugin/hls-module-name-plugin.cabal | 6 +++--- plugins/hls-ormolu-plugin/hls-ormolu-plugin.cabal | 6 +++--- plugins/hls-pragmas-plugin/hls-pragmas-plugin.cabal | 6 +++--- .../hls-qualify-imported-names-plugin.cabal | 6 +++--- .../hls-refine-imports-plugin.cabal | 4 ++-- plugins/hls-rename-plugin/hls-rename-plugin.cabal | 6 +++--- plugins/hls-retrie-plugin/hls-retrie-plugin.cabal | 4 ++-- .../hls-selection-range-plugin.cabal | 6 +++--- plugins/hls-splice-plugin/hls-splice-plugin.cabal | 6 +++--- .../hls-stylish-haskell-plugin.cabal | 6 +++--- plugins/hls-tactics-plugin/hls-tactics-plugin.cabal | 6 +++--- 25 files changed, 66 insertions(+), 66 deletions(-) diff --git a/ghcide/ghcide.cabal b/ghcide/ghcide.cabal index 036a7c9cd9..a315037302 100644 --- a/ghcide/ghcide.cabal +++ b/ghcide/ghcide.cabal @@ -79,7 +79,7 @@ library rope-utf16-splay, safe, safe-exceptions, - hls-graph ^>= 1.5.1 || ^>= 1.6, + hls-graph ^>= 1.6, sorted-list, sqlite-simple, stm, diff --git a/haskell-language-server.cabal b/haskell-language-server.cabal index 4042c42c0e..870f64132e 100644 --- a/haskell-language-server.cabal +++ b/haskell-language-server.cabal @@ -70,12 +70,12 @@ library , cryptohash-sha1 , data-default , ghc - , ghcide ^>=1.5 || ^>=1.6 + , ghcide ^>=1.6 , githash , lsp , hie-bios , hiedb - , hls-plugin-api ^>=1.2 || ^>=1.3 + , hls-plugin-api ^>=1.3 , hslogger , optparse-applicative , optparse-simple @@ -449,7 +449,7 @@ test-suite func-test , lens , lens-aeson , ghcide - , hls-test-utils ^>= 1.1 || ^>= 1.2 + , hls-test-utils ^>=1.2 , lsp-types , aeson , hls-plugin-api diff --git a/hls-plugin-api/hls-plugin-api.cabal b/hls-plugin-api/hls-plugin-api.cabal index dff2055292..be47ddf21b 100644 --- a/hls-plugin-api/hls-plugin-api.cabal +++ b/hls-plugin-api/hls-plugin-api.cabal @@ -46,7 +46,7 @@ library , extra , ghc , hashable - , hls-graph ^>= 1.5.1 || ^>= 1.6 + , hls-graph ^>= 1.6 , hslogger , lens , lens-aeson diff --git a/hls-test-utils/hls-test-utils.cabal b/hls-test-utils/hls-test-utils.cabal index 7391f5e755..a6913ac6f9 100644 --- a/hls-test-utils/hls-test-utils.cabal +++ b/hls-test-utils/hls-test-utils.cabal @@ -41,9 +41,9 @@ library , directory , extra , filepath - , ghcide ^>=1.5 || ^>=1.6 + , ghcide ^>=1.6 , hls-graph - , hls-plugin-api ^>=1.2 || ^>=1.3 + , hls-plugin-api ^>=1.3 , hspec <2.8 , hspec-core , lens diff --git a/plugins/hls-alternate-number-format-plugin/hls-alternate-number-format-plugin.cabal b/plugins/hls-alternate-number-format-plugin/hls-alternate-number-format-plugin.cabal index f3b08c6f9b..98b7552a13 100644 --- a/plugins/hls-alternate-number-format-plugin/hls-alternate-number-format-plugin.cabal +++ b/plugins/hls-alternate-number-format-plugin/hls-alternate-number-format-plugin.cabal @@ -25,10 +25,10 @@ library aeson , base >=4.12 && < 5 , containers - , ghcide ^>=1.5 || ^>=1.6 + , ghcide ^>=1.6 , ghc-boot-th , hls-graph - , hls-plugin-api ^>= 1.2 || ^>= 1.3 + , hls-plugin-api ^>=1.3 , hie-compat , lens , lsp @@ -56,7 +56,7 @@ test-suite tests , base >=4.12 && < 5 , filepath , hls-alternate-number-format-plugin - , hls-test-utils ^>=1.1 || ^>=1.2 + , hls-test-utils ^>=1.2 , lsp , QuickCheck , regex-tdfa diff --git a/plugins/hls-brittany-plugin/hls-brittany-plugin.cabal b/plugins/hls-brittany-plugin/hls-brittany-plugin.cabal index 9d7c71e6ef..f740e811f8 100644 --- a/plugins/hls-brittany-plugin/hls-brittany-plugin.cabal +++ b/plugins/hls-brittany-plugin/hls-brittany-plugin.cabal @@ -25,8 +25,8 @@ library , brittany >=0.13.1.0 && < 0.14.0.1 || > 0.14.0.1 , filepath , ghc-boot-th - , ghcide ^>=1.5 || ^>=1.6 - , hls-plugin-api ^>=1.2 || ^>=1.3 + , ghcide ^>=1.6 + , hls-plugin-api ^>=1.3 , lens , lsp-types , text @@ -48,4 +48,4 @@ test-suite tests , base , filepath , hls-brittany-plugin - , hls-test-utils ^>=1.1 || ^>=1.2 + , hls-test-utils ^>=1.2 diff --git a/plugins/hls-call-hierarchy-plugin/hls-call-hierarchy-plugin.cabal b/plugins/hls-call-hierarchy-plugin/hls-call-hierarchy-plugin.cabal index b88d91c1d5..5305bef6cb 100644 --- a/plugins/hls-call-hierarchy-plugin/hls-call-hierarchy-plugin.cabal +++ b/plugins/hls-call-hierarchy-plugin/hls-call-hierarchy-plugin.cabal @@ -30,7 +30,7 @@ library , containers , extra , ghc - , ghcide ^>= 1.5 || ^>= 1.6 + , ghcide ^>=1.6 , hiedb , hls-plugin-api ^>=1.2 || ^>= 1.3 , lens @@ -55,7 +55,7 @@ test-suite tests , extra , filepath , hls-call-hierarchy-plugin - , hls-test-utils ^>=1.1 || ^>=1.2 + , hls-test-utils ^>=1.2 , lens , lsp , lsp-test diff --git a/plugins/hls-class-plugin/hls-class-plugin.cabal b/plugins/hls-class-plugin/hls-class-plugin.cabal index 54b52c767a..3f7a5ed433 100644 --- a/plugins/hls-class-plugin/hls-class-plugin.cabal +++ b/plugins/hls-class-plugin/hls-class-plugin.cabal @@ -29,8 +29,8 @@ library , containers , ghc , ghc-exactprint - , ghcide ^>=1.5 || ^>= 1.6 - , hls-plugin-api ^>=1.2 || ^>=1.3 + , ghcide ^>=1.6 + , hls-plugin-api ^>=1.3 , lens , lsp , text @@ -53,6 +53,6 @@ test-suite tests , base , filepath , hls-class-plugin - , hls-test-utils ^>=1.1 || ^>=1.2 + , hls-test-utils ^>=1.2 , lens , lsp-types diff --git a/plugins/hls-eval-plugin/hls-eval-plugin.cabal b/plugins/hls-eval-plugin/hls-eval-plugin.cabal index e7dadb5440..fecf83dbaa 100644 --- a/plugins/hls-eval-plugin/hls-eval-plugin.cabal +++ b/plugins/hls-eval-plugin/hls-eval-plugin.cabal @@ -65,10 +65,10 @@ library , ghc , ghc-boot-th , ghc-paths - , ghcide ^>=1.5.0.1 || ^>=1.6 + , ghcide ^>=1.6 , hashable , hls-graph - , hls-plugin-api ^>=1.2 || ^>=1.3 + , hls-plugin-api ^>=1.3 , lens , lsp , lsp-types @@ -109,7 +109,7 @@ test-suite tests , extra , filepath , hls-eval-plugin - , hls-test-utils ^>=1.1 || ^>=1.2 + , hls-test-utils ^>=1.2 , lens , lsp-types , text diff --git a/plugins/hls-explicit-imports-plugin/hls-explicit-imports-plugin.cabal b/plugins/hls-explicit-imports-plugin/hls-explicit-imports-plugin.cabal index e7b17b3959..8061dd7148 100644 --- a/plugins/hls-explicit-imports-plugin/hls-explicit-imports-plugin.cabal +++ b/plugins/hls-explicit-imports-plugin/hls-explicit-imports-plugin.cabal @@ -24,9 +24,9 @@ library , containers , deepseq , ghc - , ghcide ^>=1.5 || ^>=1.6 + , ghcide ^>=1.6 , hls-graph - , hls-plugin-api ^>=1.2 || ^>=1.3 + , hls-plugin-api ^>=1.3 , lsp , text , unordered-containers diff --git a/plugins/hls-floskell-plugin/hls-floskell-plugin.cabal b/plugins/hls-floskell-plugin/hls-floskell-plugin.cabal index 1eb38fdc42..30ce747cc2 100644 --- a/plugins/hls-floskell-plugin/hls-floskell-plugin.cabal +++ b/plugins/hls-floskell-plugin/hls-floskell-plugin.cabal @@ -22,8 +22,8 @@ library build-depends: , base >=4.12 && <5 , floskell ^>=0.10 - , ghcide ^>=1.5 || ^>=1.6 - , hls-plugin-api ^>=1.2 || ^>=1.3 + , ghcide ^>=1.6 + , hls-plugin-api ^>=1.3 , lsp-types , text , transformers @@ -40,4 +40,4 @@ test-suite tests , base , filepath , hls-floskell-plugin - , hls-test-utils ^>=1.1 || ^>=1.2 + , hls-test-utils ^>=1.2 diff --git a/plugins/hls-fourmolu-plugin/hls-fourmolu-plugin.cabal b/plugins/hls-fourmolu-plugin/hls-fourmolu-plugin.cabal index 0af300e017..5b47bc7b4d 100644 --- a/plugins/hls-fourmolu-plugin/hls-fourmolu-plugin.cabal +++ b/plugins/hls-fourmolu-plugin/hls-fourmolu-plugin.cabal @@ -26,8 +26,8 @@ library , fourmolu ^>=0.3 || ^>=0.4 || ^>= 0.5 , ghc , ghc-boot-th - , ghcide ^>=1.5 || ^>=1.6 - , hls-plugin-api ^>=1.2 || ^>=1.3 + , ghcide ^>=1.6 + , hls-plugin-api ^>=1.3 , lens , lsp , text @@ -44,5 +44,5 @@ test-suite tests , base , filepath , hls-fourmolu-plugin - , hls-test-utils ^>=1.1 || ^>=1.2 + , hls-test-utils ^>=1.2 , lsp-test diff --git a/plugins/hls-haddock-comments-plugin/hls-haddock-comments-plugin.cabal b/plugins/hls-haddock-comments-plugin/hls-haddock-comments-plugin.cabal index e9f6862e51..0215590d11 100644 --- a/plugins/hls-haddock-comments-plugin/hls-haddock-comments-plugin.cabal +++ b/plugins/hls-haddock-comments-plugin/hls-haddock-comments-plugin.cabal @@ -29,8 +29,8 @@ library , containers , ghc , ghc-exactprint - , ghcide ^>=1.5 || ^>=1.6 - , hls-plugin-api ^>=1.2 || ^>=1.3 + , ghcide ^>=1.6 + , hls-plugin-api ^>=1.3 , lsp-types , text , unordered-containers @@ -50,5 +50,5 @@ test-suite tests , base , filepath , hls-haddock-comments-plugin - , hls-test-utils ^>=1.1 || ^>=1.2 + , hls-test-utils ^>=1.2 , text diff --git a/plugins/hls-hlint-plugin/hls-hlint-plugin.cabal b/plugins/hls-hlint-plugin/hls-hlint-plugin.cabal index 2dd61f2a96..8f7f496b3b 100644 --- a/plugins/hls-hlint-plugin/hls-hlint-plugin.cabal +++ b/plugins/hls-hlint-plugin/hls-hlint-plugin.cabal @@ -55,10 +55,10 @@ library , extra , filepath , ghc-exactprint >=0.6.3.4 - , ghcide ^>=1.5 || ^>=1.6 + , ghcide ^>=1.6 , hashable , hlint - , hls-plugin-api ^>=1.2 || ^>=1.3 + , hls-plugin-api ^>=1.3 , hslogger , lens , lsp @@ -127,7 +127,7 @@ test-suite tests , filepath , hls-hlint-plugin , hls-plugin-api - , hls-test-utils ^>=1.1 || ^>=1.2 + , hls-test-utils ^>=1.2 , lens , lsp-types , text diff --git a/plugins/hls-module-name-plugin/hls-module-name-plugin.cabal b/plugins/hls-module-name-plugin/hls-module-name-plugin.cabal index 9d0fa9dabc..4c7f157681 100644 --- a/plugins/hls-module-name-plugin/hls-module-name-plugin.cabal +++ b/plugins/hls-module-name-plugin/hls-module-name-plugin.cabal @@ -25,8 +25,8 @@ library , base >=4.12 && <5 , directory , filepath - , ghcide ^>=1.5 || ^>=1.6 - , hls-plugin-api ^>=1.2 || ^>=1.3 + , ghcide ^>=1.6 + , hls-plugin-api ^>=1.3 , lsp , text , transformers @@ -44,4 +44,4 @@ test-suite tests , base , filepath , hls-module-name-plugin - , hls-test-utils ^>=1.1 || ^>=1.2 + , hls-test-utils ^>=1.2 diff --git a/plugins/hls-ormolu-plugin/hls-ormolu-plugin.cabal b/plugins/hls-ormolu-plugin/hls-ormolu-plugin.cabal index 8c89fa4bdf..a6aa5180dc 100644 --- a/plugins/hls-ormolu-plugin/hls-ormolu-plugin.cabal +++ b/plugins/hls-ormolu-plugin/hls-ormolu-plugin.cabal @@ -24,8 +24,8 @@ library , filepath , ghc , ghc-boot-th - , ghcide ^>=1.5 || ^>= 1.6 - , hls-plugin-api ^>=1.1 || ^>= 1.2 || ^>= 1.3 + , ghcide ^>=1.6 + , hls-plugin-api ^>=1.3 , lens , lsp , ormolu ^>=0.1.2 || ^>= 0.2 || ^>= 0.3 || ^>= 0.4 @@ -43,5 +43,5 @@ test-suite tests , base , filepath , hls-ormolu-plugin - , hls-test-utils ^>=1.1 || ^>=1.2 + , hls-test-utils ^>=1.2 , lsp-types diff --git a/plugins/hls-pragmas-plugin/hls-pragmas-plugin.cabal b/plugins/hls-pragmas-plugin/hls-pragmas-plugin.cabal index 95c53df381..0dae7d9be0 100644 --- a/plugins/hls-pragmas-plugin/hls-pragmas-plugin.cabal +++ b/plugins/hls-pragmas-plugin/hls-pragmas-plugin.cabal @@ -25,8 +25,8 @@ library , extra , fuzzy , ghc - , ghcide ^>=1.5 || ^>=1.6 - , hls-plugin-api ^>=1.2 || ^>=1.3 + , ghcide ^>=1.6 + , hls-plugin-api ^>=1.3 , lens , lsp , text @@ -46,7 +46,7 @@ test-suite tests , base , filepath , hls-pragmas-plugin - , hls-test-utils ^>=1.1 || ^>=1.2 + , hls-test-utils ^>=1.2 , lens , lsp-types , text diff --git a/plugins/hls-qualify-imported-names-plugin/hls-qualify-imported-names-plugin.cabal b/plugins/hls-qualify-imported-names-plugin/hls-qualify-imported-names-plugin.cabal index 2b10da9206..76f65cad80 100644 --- a/plugins/hls-qualify-imported-names-plugin/hls-qualify-imported-names-plugin.cabal +++ b/plugins/hls-qualify-imported-names-plugin/hls-qualify-imported-names-plugin.cabal @@ -26,9 +26,9 @@ library , containers , deepseq , ghc - , ghcide ^>=1.5 || ^>= 1.6 + , ghcide ^>=1.6 , hls-graph - , hls-plugin-api ^>=1.2 || ^>=1.3 + , hls-plugin-api ^>=1.3 , lsp , text , unordered-containers @@ -51,4 +51,4 @@ test-suite tests , text , filepath , hls-qualify-imported-names-plugin - , hls-test-utils ^>=1.1 || ^>=1.2 + , hls-test-utils ^>=1.2 diff --git a/plugins/hls-refine-imports-plugin/hls-refine-imports-plugin.cabal b/plugins/hls-refine-imports-plugin/hls-refine-imports-plugin.cabal index 54e45e43c3..610c9aba13 100644 --- a/plugins/hls-refine-imports-plugin/hls-refine-imports-plugin.cabal +++ b/plugins/hls-refine-imports-plugin/hls-refine-imports-plugin.cabal @@ -24,10 +24,10 @@ library , containers , deepseq , ghc - , ghcide ^>=1.5 || ^>=1.6 + , ghcide ^>=1.6 , hls-explicit-imports-plugin ^>=1.0.0.1 , hls-graph - , hls-plugin-api ^>=1.2 || ^>=1.3 + , hls-plugin-api ^>=1.3 , lsp , text , unordered-containers diff --git a/plugins/hls-rename-plugin/hls-rename-plugin.cabal b/plugins/hls-rename-plugin/hls-rename-plugin.cabal index 8c1b946803..9768c82f8a 100644 --- a/plugins/hls-rename-plugin/hls-rename-plugin.cabal +++ b/plugins/hls-rename-plugin/hls-rename-plugin.cabal @@ -25,9 +25,9 @@ library , extra , ghc , ghc-exactprint - , ghcide ^>=1.5 || ^>=1.6 + , ghcide ^>=1.6 , hiedb - , hls-plugin-api ^>= 1.2 || ^>= 1.3 + , hls-plugin-api ^>=1.3 , lsp , lsp-types , syb @@ -46,4 +46,4 @@ test-suite tests , base , filepath , hls-rename-plugin - , hls-test-utils ^>=1.1 || ^>=1.2 + , hls-test-utils ^>=1.2 diff --git a/plugins/hls-retrie-plugin/hls-retrie-plugin.cabal b/plugins/hls-retrie-plugin/hls-retrie-plugin.cabal index c1bc308f84..e051eaff39 100644 --- a/plugins/hls-retrie-plugin/hls-retrie-plugin.cabal +++ b/plugins/hls-retrie-plugin/hls-retrie-plugin.cabal @@ -24,9 +24,9 @@ library , directory , extra , ghc - , ghcide ^>=1.5 || ^>=1.6 + , ghcide ^>=1.6 , hashable - , hls-plugin-api ^>=1.2 || ^>=1.3 + , hls-plugin-api ^>=1.3 , lsp , lsp-types , retrie >=0.1.1.0 diff --git a/plugins/hls-selection-range-plugin/hls-selection-range-plugin.cabal b/plugins/hls-selection-range-plugin/hls-selection-range-plugin.cabal index d4bf0b469f..ef279e7b69 100644 --- a/plugins/hls-selection-range-plugin/hls-selection-range-plugin.cabal +++ b/plugins/hls-selection-range-plugin/hls-selection-range-plugin.cabal @@ -32,8 +32,8 @@ library , aeson , base >=4.12 && <5 , containers - , ghcide ^>=1.5 || ^>=1.6 - , hls-plugin-api ^>=1.2 || ^>=1.3 + , ghcide ^>=1.6 + , hls-plugin-api ^>=1.3 , lsp , transformers , mtl @@ -52,7 +52,7 @@ test-suite tests , containers , filepath , hls-selection-range-plugin - , hls-test-utils ^>=1.1 || ^>=1.2 + , hls-test-utils ^>=1.2 , lsp , lsp-test , text diff --git a/plugins/hls-splice-plugin/hls-splice-plugin.cabal b/plugins/hls-splice-plugin/hls-splice-plugin.cabal index 62a6e68d81..d088dfe53c 100644 --- a/plugins/hls-splice-plugin/hls-splice-plugin.cabal +++ b/plugins/hls-splice-plugin/hls-splice-plugin.cabal @@ -38,8 +38,8 @@ library , foldl , ghc , ghc-exactprint - , ghcide ^>=1.5 || ^>=1.6 - , hls-plugin-api ^>=1.2 || ^>=1.3 + , ghcide ^>=1.6 + , hls-plugin-api ^>=1.3 , lens , lsp , retrie @@ -64,5 +64,5 @@ test-suite tests , base , filepath , hls-splice-plugin - , hls-test-utils ^>=1.1 || ^>=1.2 + , hls-test-utils ^>=1.2 , text diff --git a/plugins/hls-stylish-haskell-plugin/hls-stylish-haskell-plugin.cabal b/plugins/hls-stylish-haskell-plugin/hls-stylish-haskell-plugin.cabal index a8011fd69c..f89cf48af8 100644 --- a/plugins/hls-stylish-haskell-plugin/hls-stylish-haskell-plugin.cabal +++ b/plugins/hls-stylish-haskell-plugin/hls-stylish-haskell-plugin.cabal @@ -24,8 +24,8 @@ library , filepath , ghc , ghc-boot-th - , ghcide ^>=1.5 || ^>=1.6 - , hls-plugin-api ^>=1.2 || ^>=1.3 + , ghcide ^>=1.6 + , hls-plugin-api ^>=1.3 , lsp-types , stylish-haskell ^>=0.12 || ^>=0.13 , text @@ -42,4 +42,4 @@ test-suite tests , base , filepath , hls-stylish-haskell-plugin - , hls-test-utils ^>=1.1 || ^>=1.2 + , hls-test-utils ^>=1.2 diff --git a/plugins/hls-tactics-plugin/hls-tactics-plugin.cabal b/plugins/hls-tactics-plugin/hls-tactics-plugin.cabal index 253fcb81bd..bf1a0905b6 100644 --- a/plugins/hls-tactics-plugin/hls-tactics-plugin.cabal +++ b/plugins/hls-tactics-plugin/hls-tactics-plugin.cabal @@ -82,9 +82,9 @@ library , ghc-boot-th , ghc-exactprint , ghc-source-gen ^>=0.4.1 - , ghcide ^>=1.5 || ^>=1.6 + , ghcide ^>=1.6 , hls-graph - , hls-plugin-api ^>=1.2 || ^>=1.3 + , hls-plugin-api ^>=1.3 , hyphenation , lens , lsp @@ -160,7 +160,7 @@ test-suite tests , ghcide , hls-plugin-api , hls-tactics-plugin - , hls-test-utils ^>=1.1 || ^>=1.2 + , hls-test-utils ^>=1.2 , hspec , hspec-expectations , lens From 2cfa8107b4e9a3b5d658296798050d133c50c0f8 Mon Sep 17 00:00:00 2001 From: jneira Date: Thu, 27 Jan 2022 22:19:34 +0100 Subject: [PATCH 36/38] Restore original wording --- ghcide/src/Development/IDE/Core/Rules.hs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ghcide/src/Development/IDE/Core/Rules.hs b/ghcide/src/Development/IDE/Core/Rules.hs index ed897d2852..108b143e54 100644 --- a/ghcide/src/Development/IDE/Core/Rules.hs +++ b/ghcide/src/Development/IDE/Core/Rules.hs @@ -827,8 +827,8 @@ displayTHWarning | not isWindows && not hostIsDynamic = do LSP.sendNotification SWindowShowMessage $ ShowMessageParams MtInfo $ T.unwords - [ "This HLS binary could not support Template Haskell." - , "Follow this [instructions](" <> templateHaskellInstructions <> ")" + [ "This HLS binary does not support Template Haskell." + , "Follow the [instructions](" <> templateHaskellInstructions <> ")" , "to build an HLS binary with support for Template Haskell." ] | otherwise = return () From 213f90121974cf8ab13884c88026ad3283db9681 Mon Sep 17 00:00:00 2001 From: jneira Date: Thu, 27 Jan 2022 22:49:20 +0100 Subject: [PATCH 37/38] One more pr --- ChangeLog.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ChangeLog.md b/ChangeLog.md index 21b379bd95..8a0c876045 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -27,6 +27,8 @@ Time for a new and exciting hls release: ### Pull requests merged for 1.6.0 +- Change Type Family Export pattern +([#2643](https://github.com/haskell/haskell-language-server/pull/2643)) by @drsooch - Disable alpine build by default ([#2638](https://github.com/haskell/haskell-language-server/pull/2638)) by @jneira - Use T.decodeUtf8 + BS.readFile instead of T.readFile From e172ac5ea42ddfed95b39b5514f6a2ecc0963e8b Mon Sep 17 00:00:00 2001 From: jneira Date: Fri, 28 Jan 2022 08:13:51 +0100 Subject: [PATCH 38/38] One more pr --- ChangeLog.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ChangeLog.md b/ChangeLog.md index 8a0c876045..8acbd3339c 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -27,6 +27,8 @@ Time for a new and exciting hls release: ### Pull requests merged for 1.6.0 +- Implement stripPrefix via T.stripPrefix +([#2645](https://github.com/haskell/haskell-language-server/pull/2645)) by @Bodigrim - Change Type Family Export pattern ([#2643](https://github.com/haskell/haskell-language-server/pull/2643)) by @drsooch - Disable alpine build by default