diff --git a/.github/scripts/env.sh b/.github/scripts/env.sh index 2486869453..90e7219661 100644 --- a/.github/scripts/env.sh +++ b/.github/scripts/env.sh @@ -11,7 +11,7 @@ fi export PATH="$HOME/.local/bin:$PATH" export BOOTSTRAP_HASKELL_NONINTERACTIVE=1 -export BOOTSTRAP_HASKELL_CABAL_VERSION="${CABAL_VER:-3.10.2.0}" +export BOOTSTRAP_HASKELL_CABAL_VERSION="${CABAL_VER:-3.10.3.0}" export BOOTSTRAP_HASKELL_ADJUST_CABAL_CONFIG=no export BOOTSTRAP_HASKELL_INSTALL_NO_STACK=yes export BOOTSTRAP_HASKELL_ADJUST_BASHRC=1 diff --git a/.github/scripts/test.sh b/.github/scripts/test.sh index 04cf680779..dfcfc4b4ef 100644 --- a/.github/scripts/test.sh +++ b/.github/scripts/test.sh @@ -8,14 +8,25 @@ set -eux . .github/scripts/env.sh . .github/scripts/common.sh -test_package="bytestring-0.11.1.0" -test_module="Data/ByteString.hs" +test_package="text-2.1.1" +test_module="src/Data/Text.hs" create_cradle() { echo "cradle:" > hie.yaml echo " cabal:" >> hie.yaml } +# Tests and benchmarks can't be built on some GHC versions, such as GHC 9.10.1 on Windows. +# Disable these packages for now, building bytestring-0.12.1.0 works completely fine. +create_cabal_project() { + echo "packages: ./" > cabal.project + echo "" >> cabal.project + echo "tests: False" >> cabal.project + echo "benchmarks: False" >> cabal.project + + echo "flags: -simdutf -pure-haskell" >> cabal.project +} + enter_test_package() { local tmp_dir tmp_dir=$(mktempdir) @@ -38,7 +49,7 @@ test_all_hls() { bin_noexe=${bin/.exe/} if ! [[ "${bin_noexe}" =~ "haskell-language-server-wrapper" ]] && ! [[ "${bin_noexe}" =~ "~" ]] ; then if ghcup install ghc --set "${bin_noexe/haskell-language-server-/}" ; then - "${hls}" typecheck "${test_module}" || fail "failed to typecheck with HLS for GHC ${bin_noexe/haskell-language-server-/}" + "${hls}" --debug typecheck "${test_module}" || fail "failed to typecheck with HLS for GHC ${bin_noexe/haskell-language-server-/}" # After running the test, free up disk space by deleting the unneeded GHC version. # Helps us staying beneath the 14GB SSD disk limit. @@ -60,7 +71,7 @@ env # ensure ghcup install_ghcup -ghcup install ghc --set 9.4.5 +ghcup install ghc --set 9.4.8 (cd .. && ecabal update) # run cabal update outside project dir @@ -77,6 +88,7 @@ case "${TARBALL_EXT}" in enter_test_package create_cradle + create_cabal_project test_all_hls "$GHCUP_BIN" ;; @@ -106,6 +118,7 @@ case "${TARBALL_EXT}" in enter_test_package create_cradle + create_cabal_project test_all_hls "$(ghcup whereis bindir)" ;; diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 5dffaaa915..81ceadfb9e 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -30,7 +30,7 @@ jobs: strategy: fail-fast: false matrix: - ghc: ["9.8.2", "9.6.5", "9.4.8", "9.2.8"] + ghc: ["9.10.1", "9.8.2", "9.6.5", "9.4.8", "9.2.8"] platform: [ { image: "debian:9" , installCmd: "sed -i s/deb.debian.org/archive.debian.org/g /etc/apt/sources.list && sed -i 's|security.debian.org|archive.debian.org/|g' /etc/apt/sources.list && sed -i /-updates/d /etc/apt/sources.list && apt-get update && apt-get install -y" , toolRequirements: "libnuma-dev zlib1g-dev libgmp-dev libgmp10 libssl-dev liblzma-dev libbz2-dev git wget lsb-release software-properties-common gnupg2 apt-transport-https gcc autoconf automake build-essential curl ghc gzip libffi-dev libncurses-dev libncurses5 libtinfo5 patchelf" @@ -154,6 +154,15 @@ jobs: , ARTIFACT: "x86_64-linux-unknown" , ADD_CABAL_ARGS: "--enable-split-sections" } + - ghc: 9.10.1 + platform: + { image: "rockylinux:8" + , installCmd: "yum -y install epel-release && yum install -y --allowerasing" + , toolRequirements: "autoconf automake binutils bzip2 coreutils curl elfutils-devel elfutils-libs findutils gcc gcc-c++ git gmp gmp-devel jq lbzip2 make ncurses ncurses-compat-libs ncurses-devel openssh-clients patch perl pxz python3 sqlite sudo wget which xz zlib-devel patchelf" + , DISTRO: "Unknown" + , ARTIFACT: "x86_64-linux-unknown" + , ADD_CABAL_ARGS: "--enable-split-sections" + } container: image: ${{ matrix.platform.image }} steps: @@ -213,7 +222,7 @@ jobs: strategy: fail-fast: true matrix: - ghc: ["9.8.2", "9.6.5", "9.4.8", "9.2.8" ] + ghc: ["9.10.1", "9.8.2", "9.6.5", "9.4.8", "9.2.8" ] steps: - uses: docker://arm64v8/ubuntu:focal name: Cleanup (aarch64 linux) @@ -273,7 +282,7 @@ jobs: strategy: fail-fast: false matrix: - ghc: ["9.8.2", "9.6.5", "9.4.8", "9.2.8"] + ghc: ["9.10.1", "9.8.2", "9.6.5", "9.4.8", "9.2.8"] steps: - name: Checkout code uses: actions/checkout@v3 @@ -318,7 +327,7 @@ jobs: strategy: fail-fast: false matrix: - ghc: ["9.8.2", "9.6.5", "9.4.8", "9.2.8"] + ghc: ["9.10.1", "9.8.2", "9.6.5", "9.4.8", "9.2.8"] steps: - name: Checkout code uses: actions/checkout@v3 @@ -363,7 +372,7 @@ jobs: strategy: fail-fast: false matrix: - ghc: ["9.8.2", "9.6.5", "9.4.8", "9.2.8"] + ghc: ["9.10.1", "9.8.2", "9.6.5", "9.4.8", "9.2.8"] steps: - name: install windows deps shell: pwsh diff --git a/ChangeLog.md b/ChangeLog.md index 34465b5910..c98fbb651f 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,5 +1,117 @@ # Changelog for haskell-language-server +## 2.9.0.0 + +- Bindists for GHC 9.10.1 by @wz1000, @jhrcek, @michaelpj +- More hls-graph reliability improvements by @soulomoon +- Refactoring of test suite runners by @soulomoon +- Fixes in multiple home units support by @wz1000 + +### Pull Requests + +- Fix quadratic memory usage in GetLocatedImports + ([#4318](https://github.com/haskell/haskell-language-server/pull/4318)) by @mpickering +- Bump stack configs + CI to 9.6.5 and 9.8.2 + ([#4316](https://github.com/haskell/haskell-language-server/pull/4316)) by @jhrcek +- Add support for Fourmolu 0.16 + ([#4314](https://github.com/haskell/haskell-language-server/pull/4314)) by @ brandonchinn178 +- Code action to remove redundant record field import (fixes #4220) + ([#4308](https://github.com/haskell/haskell-language-server/pull/4308)) by @battermann +- Use restricted monad for plugins (#4057) + ([#4304](https://github.com/haskell/haskell-language-server/pull/4304)) by @awjchen +- 4301 we need to implement utility to wait for all runnning keys in hls graph done + ([#4302](https://github.com/haskell/haskell-language-server/pull/4302)) by @soulomoon +- Call useWithStale instead of useWithStaleFast when calling ParseCabalFields + ([#4294](https://github.com/haskell/haskell-language-server/pull/4294)) by @VeryMilkyJoe +- test: add test documenting #806 + ([#4292](https://github.com/haskell/haskell-language-server/pull/4292)) by @develop7 +- ghcide: drop ghc-check and ghc-paths dependency + ([#4291](https://github.com/haskell/haskell-language-server/pull/4291)) by @wz1000 +- Limit number of valid hole fits to 10 + ([#4288](https://github.com/haskell/haskell-language-server/pull/4288)) by @akshaymankar +- Add common stanza to completion data + ([#4286](https://github.com/haskell/haskell-language-server/pull/4286)) by @VeryMilkyJoe +- FindImports: ThisPkg means some home unit, not "this" unit + ([#4284](https://github.com/haskell/haskell-language-server/pull/4284)) by @wz1000 +- Remove redudant absolutization in session loader + ([#4280](https://github.com/haskell/haskell-language-server/pull/4280)) by @soulomoon +- Bump to new lsp versions + ([#4279](https://github.com/haskell/haskell-language-server/pull/4279)) by @michaelpj +- Put more test code into pre-commit + ([#4275](https://github.com/haskell/haskell-language-server/pull/4275)) by @soulomoon +- Delete library ghcide test utils + ([#4274](https://github.com/haskell/haskell-language-server/pull/4274)) by @soulomoon +- Delete testUtil from ghcide-tests + ([#4272](https://github.com/haskell/haskell-language-server/pull/4272)) by @soulomoon +- CI change, only run bench on performance label + ([#4271](https://github.com/haskell/haskell-language-server/pull/4271)) by @soulomoon +- Migrate WatchedFileTests + ([#4269](https://github.com/haskell/haskell-language-server/pull/4269)) by @soulomoon +- Migrate UnitTests + ([#4268](https://github.com/haskell/haskell-language-server/pull/4268)) by @soulomoon +- Migrate SafeTests + ([#4267](https://github.com/haskell/haskell-language-server/pull/4267)) by @soulomoon +- Migrate SymlinkTests + ([#4266](https://github.com/haskell/haskell-language-server/pull/4266)) by @soulomoon +- Remove unused and outdated CHANGELOG files + ([#4264](https://github.com/haskell/haskell-language-server/pull/4264)) by @fendor +- Enable cabal flaky test + ([#4263](https://github.com/haskell/haskell-language-server/pull/4263)) by @soulomoon +- Migrate RootUriTests + ([#4261](https://github.com/haskell/haskell-language-server/pull/4261)) by @soulomoon +- Migrate PreprocessorTests + ([#4260](https://github.com/haskell/haskell-language-server/pull/4260)) by @soulomoon +- Migrate PluginSimpleTests + ([#4259](https://github.com/haskell/haskell-language-server/pull/4259)) by @soulomoon +- Migrate ClientSettingsTests + ([#4258](https://github.com/haskell/haskell-language-server/pull/4258)) by @soulomoon +- Unify critical session running in hls + ([#4256](https://github.com/haskell/haskell-language-server/pull/4256)) by @soulomoon +- Bump cachix/cachix-action from 14 to 15 + ([#4255](https://github.com/haskell/haskell-language-server/pull/4255)) by @dependabot[bot] +- Bump haskell-actions/setup from 2.7.2 to 2.7.3 + ([#4254](https://github.com/haskell/haskell-language-server/pull/4254)) by @dependabot[bot] +- Bump haskell-actions/setup from 2.7.2 to 2.7.3 in /.github/actions/setup-build + ([#4253](https://github.com/haskell/haskell-language-server/pull/4253)) by @dependabot[bot] +- Shorter file names completion + ([#4252](https://github.com/haskell/haskell-language-server/pull/4252)) by @VenInf +- Fix progress start delay + ([#4249](https://github.com/haskell/haskell-language-server/pull/4249)) by @michaelpj +- Bump cachix/install-nix-action from 26 to 27 + ([#4245](https://github.com/haskell/haskell-language-server/pull/4245)) by @dependabot[bot] +- Bump haskell-actions/setup from 2.7.1 to 2.7.2 + ([#4244](https://github.com/haskell/haskell-language-server/pull/4244)) by @dependabot[bot] +- Bump haskell-actions/setup from 2.7.1 to 2.7.2 in /.github/actions/setup-build + ([#4243](https://github.com/haskell/haskell-language-server/pull/4243)) by @dependabot[bot] +- Enable test for #717 + ([#4241](https://github.com/haskell/haskell-language-server/pull/4241)) by @soulomoon +- Remove Pepe from CODEOWNERS + ([#4239](https://github.com/haskell/haskell-language-server/pull/4239)) by @michaelpj +- Fix resultBuilt(dirty mechanism) in hls-graph + ([#4238](https://github.com/haskell/haskell-language-server/pull/4238)) by @soulomoon +- Support for 9.10 + ([#4233](https://github.com/haskell/haskell-language-server/pull/4233)) by @wz1000 +- Refactor hls-test-util and reduce getCurrentDirectory after initilization + ([#4231](https://github.com/haskell/haskell-language-server/pull/4231)) by @soulomoon +- [Migrate BootTests] part of #4173 Migrate ghcide tests to hls test utils + ([#4227](https://github.com/haskell/haskell-language-server/pull/4227)) by @soulomoon +- Actually enable pedantic flag in ci flags job + ([#4224](https://github.com/haskell/haskell-language-server/pull/4224)) by @jhrcek +- Cleanup cabal files, ghc compat code, fix ghc warnings + ([#4222](https://github.com/haskell/haskell-language-server/pull/4222)) by @jhrcek +- Another attempt at using the lsp API for some progress reporting + ([#4218](https://github.com/haskell/haskell-language-server/pull/4218)) by @michaelpj +- [Migrate diagnosticTests] part of #4173 Migrate ghcide tests to hls test utils + ([#4207](https://github.com/haskell/haskell-language-server/pull/4207)) by @soulomoon +- Prepare release 2.8.0.0 + ([#4191](https://github.com/haskell/haskell-language-server/pull/4191)) by @wz1000 +- Stabilize the build system by correctly house keeping the dirtykeys and rule values [flaky test #4185 #4093] + ([#4190](https://github.com/haskell/haskell-language-server/pull/4190)) by @soulomoon +- hls-cabal-plugin: refactor context search to use `readFields` + ([#4186](https://github.com/haskell/haskell-language-server/pull/4186)) by @fendor +- 3944 extend the properties api to better support nested configuration + ([#3952](https://github.com/haskell/haskell-language-server/pull/3952)) by @soulomoon + ## 2.8.0.0 - Bindists for GHC 9.6.5 diff --git a/RELEASING.md b/RELEASING.md index 73f887b9fc..42ba158ac2 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -21,6 +21,7 @@ - Generate a ChangeLog via `./GenChangelogs.hs ` - `` is the git tag you want to generate the ChangeLog from. - `` is a github access key: https://github.com/settings/tokens +- [ ] update https://haskell-language-server.readthedocs.io/en/latest/support/ghc-version-support.html#current-ghc-version-support-status - [ ] create release branch as `wip/` - `git switch -c wip/` - [ ] create release tag as `` @@ -50,7 +51,6 @@ - [ ] publish release on github - [ ] upload hackage packages - requires credentials -- [ ] update https://haskell-language-server.readthedocs.io/en/latest/support/ghc-version-support.html#current-ghc-version-support-status - [ ] Supported tools table needs to be updated: - https://www.haskell.org/ghcup/install/#supported-platforms - https://github.com/haskell/ghcup-hs/blob/master/docs/install.md#supported-platforms diff --git a/cabal.project b/cabal.project index 18ce3e76f5..705e53f5cb 100644 --- a/cabal.project +++ b/cabal.project @@ -41,17 +41,11 @@ constraints: bitvec -simd, + if impl(ghc >= 9.9) - benchmarks: False - constraints: - lens >= 5.3.2, - -- See - -- https://github.com/haskell/stylish-haskell/issues/479 - -- https://github.com/ennocramer/floskell/pull/82 - -- https://github.com/ndmitchell/hlint/pull/1594 - haskell-language-server -stylishHaskell -hlint -retrie -splice -floskell, allow-newer: haddock-library:base, haddock-library:containers, + benchmarks: False else benchmarks: True diff --git a/docs/support/ghc-version-support.md b/docs/support/ghc-version-support.md index 46eece5a34..add40824ca 100644 --- a/docs/support/ghc-version-support.md +++ b/docs/support/ghc-version-support.md @@ -17,6 +17,7 @@ Support status (see the support policy below for more details): | GHC version | Last supporting HLS version | Support status | |--------------|--------------------------------------------------------------------------------------|-----------------------------------------------------------------------------| +| 9.10.1 | [latest](https://github.com/haskell/haskell-language-server/releases/latest) | full support | | 9.8.2 | [latest](https://github.com/haskell/haskell-language-server/releases/latest) | full support | | 9.8.1 | [2.6.0.0](https://github.com/haskell/haskell-language-server/releases/tag/2.6.0.0) | full support | | 9.6.5 | [latest](https://github.com/haskell/haskell-language-server/releases/latest) | full support | diff --git a/docs/support/plugin-support.md b/docs/support/plugin-support.md index 70c6472c1f..3489a380c7 100644 --- a/docs/support/plugin-support.md +++ b/docs/support/plugin-support.md @@ -38,7 +38,7 @@ For example, a plugin to provide a formatter which has itself been abandoned has ## Current plugin support tiers | Plugin | Tier | Unsupported GHC versions | -|-------------------------------------|------|--------------------------| +| ----------------------------------- | ---- | ------------------------ | | ghcide core plugins | 1 | | | `hls-call-hierarchy-plugin` | 1 | | | `hls-code-range-plugin` | 1 | | @@ -47,6 +47,7 @@ For example, a plugin to provide a formatter which has itself been abandoned has | `hls-refactor-plugin` | 1 | | | `hls-alternate-number-plugin` | 2 | | | `hls-cabal-fmt-plugin` | 2 | | +| `hls-cabal-gild-plugin` | 2 | | | `hls-class-plugin` | 2 | | | `hls-change-type-signature-plugin` | 2 | | | `hls-eval-plugin` | 2 | | @@ -54,16 +55,16 @@ For example, a plugin to provide a formatter which has itself been abandoned has | `hls-explicit-record-fields-plugin` | 2 | | | `hls-fourmolu-plugin` | 2 | | | `hls-gadt-plugin` | 2 | | -| `hls-hlint-plugin` | 2 | | +| `hls-hlint-plugin` | 2 | 9.10.1 | | `hls-module-name-plugin` | 2 | | | `hls-notes-plugin` | 2 | | | `hls-qualify-imported-names-plugin` | 2 | | | `hls-ormolu-plugin` | 2 | | | `hls-rename-plugin` | 2 | | -| `hls-stylish-haskell-plugin` | 2 | | +| `hls-stylish-haskell-plugin` | 2 | 9.10.1 | | `hls-overloaded-record-dot-plugin` | 2 | | | `hls-semantic-tokens-plugin` | 2 | | -| `hls-floskell-plugin` | 3 | | -| `hls-stan-plugin` | 3 | 9.2.(4-8) | -| `hls-retrie-plugin` | 3 | | -| `hls-splice-plugin` | 3 | | +| `hls-floskell-plugin` | 3 | 9.10.1 | +| `hls-stan-plugin` | 3 | 9.2.(4-8), 9.10.1 | +| `hls-retrie-plugin` | 3 | 9.10.1 | +| `hls-splice-plugin` | 3 | 9.10.1 | diff --git a/ghcide/ghcide.cabal b/ghcide/ghcide.cabal index 87db32c2bc..26b9256a89 100644 --- a/ghcide/ghcide.cabal +++ b/ghcide/ghcide.cabal @@ -2,7 +2,7 @@ cabal-version: 3.4 build-type: Simple category: Development name: ghcide -version: 2.8.0.0 +version: 2.9.0.0 license: Apache-2.0 license-file: LICENSE author: Digital Asset and Ghcide contributors @@ -81,8 +81,8 @@ library , hie-bios ^>=0.14.0 , hie-compat ^>=0.3.0.0 , hiedb ^>= 0.6.0.0 - , hls-graph == 2.8.0.0 - , hls-plugin-api == 2.8.0.0 + , hls-graph == 2.9.0.0 + , hls-plugin-api == 2.9.0.0 , implicit-hie >= 0.1.4.0 && < 0.1.5 , lens , list-t diff --git a/haskell-language-server.cabal b/haskell-language-server.cabal index 5312276148..859d65dcd9 100644 --- a/haskell-language-server.cabal +++ b/haskell-language-server.cabal @@ -1,7 +1,7 @@ cabal-version: 3.4 category: Development name: haskell-language-server -version: 2.8.0.0 +version: 2.9.0.0 synopsis: LSP server for GHC description: Please see the README on GitHub at @@ -129,8 +129,8 @@ library hls-cabal-fmt-plugin , base >=4.12 && <5 , directory , filepath - , ghcide == 2.8.0.0 - , hls-plugin-api == 2.8.0.0 + , ghcide == 2.9.0.0 + , hls-plugin-api == 2.9.0.0 , lens , lsp-types , mtl @@ -149,7 +149,7 @@ test-suite hls-cabal-fmt-plugin-tests , directory , filepath , haskell-language-server:hls-cabal-fmt-plugin - , hls-test-utils == 2.8.0.0 + , hls-test-utils == 2.9.0.0 if flag(isolateCabalfmtTests) build-tool-depends: cabal-fmt:cabal-fmt ^>=0.1.6 @@ -185,8 +185,8 @@ library hls-cabal-gild-plugin , base >=4.12 && <5 , directory , filepath - , ghcide == 2.8.0.0 - , hls-plugin-api == 2.8.0.0 + , ghcide == 2.9.0.0 + , hls-plugin-api == 2.9.0.0 , lsp-types , text , mtl @@ -204,7 +204,7 @@ test-suite hls-cabal-gild-plugin-tests , directory , filepath , haskell-language-server:hls-cabal-gild-plugin - , hls-test-utils == 2.8.0.0 + , hls-test-utils == 2.9.0.0 if flag(isolateCabalGildTests) build-tool-depends: cabal-gild:cabal-gild ^>=1.3 @@ -255,10 +255,10 @@ library hls-cabal-plugin , directory , filepath , extra >=1.7.4 - , ghcide == 2.8.0.0 + , ghcide == 2.9.0.0 , hashable - , hls-plugin-api == 2.8.0.0 - , hls-graph == 2.8.0.0 + , hls-plugin-api == 2.9.0.0 + , hls-graph == 2.9.0.0 , lens , lsp ^>=2.7 , lsp-types ^>=2.3 @@ -287,7 +287,7 @@ test-suite hls-cabal-plugin-tests , filepath , ghcide , haskell-language-server:hls-cabal-plugin - , hls-test-utils == 2.8.0.0 + , hls-test-utils == 2.9.0.0 , lens , lsp-types , text @@ -325,9 +325,9 @@ library hls-class-plugin , extra , ghc , ghc-exactprint >= 1.5 && < 1.10.0.0 - , ghcide == 2.8.0.0 + , ghcide == 2.9.0.0 , hls-graph - , hls-plugin-api == 2.8.0.0 + , hls-plugin-api == 2.9.0.0 , lens , lsp , mtl @@ -349,7 +349,7 @@ test-suite hls-class-plugin-tests , base , filepath , haskell-language-server:hls-class-plugin - , hls-test-utils == 2.8.0.0 + , hls-test-utils == 2.9.0.0 , lens , lsp-types , text @@ -384,9 +384,9 @@ library hls-call-hierarchy-plugin , base >=4.12 && <5 , containers , extra - , ghcide == 2.8.0.0 + , ghcide == 2.9.0.0 , hiedb ^>= 0.6.0.0 - , hls-plugin-api == 2.8.0.0 + , hls-plugin-api == 2.9.0.0 , lens , lsp >=2.7 , sqlite-simple @@ -408,7 +408,7 @@ test-suite hls-call-hierarchy-plugin-tests , extra , filepath , haskell-language-server:hls-call-hierarchy-plugin - , hls-test-utils == 2.8.0.0 + , hls-test-utils == 2.9.0.0 , lens , lsp , lsp-test @@ -459,9 +459,9 @@ library hls-eval-plugin , filepath , ghc , ghc-boot-th - , ghcide == 2.8.0.0 + , ghcide == 2.9.0.0 , hls-graph - , hls-plugin-api == 2.8.0.0 + , hls-plugin-api == 2.9.0.0 , lens , lsp , lsp-types @@ -492,7 +492,7 @@ test-suite hls-eval-plugin-tests , filepath , haskell-language-server:hls-eval-plugin , hls-plugin-api - , hls-test-utils == 2.8.0.0 + , hls-test-utils == 2.9.0.0 , lens , lsp-types , text @@ -523,9 +523,9 @@ library hls-explicit-imports-plugin , containers , deepseq , ghc - , ghcide == 2.8.0.0 + , ghcide == 2.9.0.0 , hls-graph - , hls-plugin-api == 2.8.0.0 + , hls-plugin-api == 2.9.0.0 , lens , lsp , mtl @@ -547,7 +547,7 @@ test-suite hls-explicit-imports-plugin-tests , extra , filepath , haskell-language-server:hls-explicit-imports-plugin - , hls-test-utils == 2.8.0.0 + , hls-test-utils == 2.9.0.0 , lens , lsp-types , text @@ -575,11 +575,11 @@ library hls-rename-plugin build-depends: , base >=4.12 && <5 , containers - , ghcide == 2.8.0.0 + , ghcide == 2.9.0.0 , hashable , hiedb ^>= 0.6.0.0 , hie-compat - , hls-plugin-api == 2.8.0.0 + , hls-plugin-api == 2.9.0.0 , haskell-language-server:hls-refactor-plugin , lens , lsp-types @@ -605,7 +605,7 @@ test-suite hls-rename-plugin-tests , filepath , hls-plugin-api , haskell-language-server:hls-rename-plugin - , hls-test-utils == 2.8.0.0 + , hls-test-utils == 2.9.0.0 , lens , lsp-types , text @@ -620,13 +620,13 @@ flag retrie manual: True common retrie - if flag(retrie) + if flag(retrie) && impl(ghc < 9.10) build-depends: haskell-language-server:hls-retrie-plugin cpp-options: -Dhls_retrie library hls-retrie-plugin import: defaults, pedantic, warnings - if !flag(retrie) + if !(flag(retrie) && impl(ghc < 9.10)) buildable: False exposed-modules: Ide.Plugin.Retrie hs-source-dirs: plugins/hls-retrie-plugin/src @@ -637,9 +637,9 @@ library hls-retrie-plugin , containers , extra , ghc - , ghcide == 2.8.0.0 + , ghcide == 2.9.0.0 , hashable - , hls-plugin-api == 2.8.0.0 + , hls-plugin-api == 2.9.0.0 , haskell-language-server:hls-refactor-plugin , lens , lsp @@ -657,7 +657,7 @@ library hls-retrie-plugin test-suite hls-retrie-plugin-tests import: defaults, pedantic, test-defaults, warnings - if !flag(retrie) + if !(flag(retrie) && impl(ghc < 9.10)) buildable: False type: exitcode-stdio-1.0 hs-source-dirs: plugins/hls-retrie-plugin/test @@ -668,7 +668,7 @@ test-suite hls-retrie-plugin-tests , filepath , hls-plugin-api , haskell-language-server:{hls-refactor-plugin, hls-retrie-plugin} - , hls-test-utils == 2.8.0.0 + , hls-test-utils == 2.9.0.0 , text ----------------------------- @@ -688,13 +688,14 @@ flag hlint manual: True common hlint - if flag(hlint) + if flag(hlint) && impl(ghc < 9.10) build-depends: haskell-language-server:hls-hlint-plugin cpp-options: -Dhls_hlint library hls-hlint-plugin import: defaults, pedantic, warnings - if !flag(hlint) + -- https://github.com/ndmitchell/hlint/pull/1594 + if !(flag(hlint) && impl(ghc < 9.10)) buildable: False exposed-modules: Ide.Plugin.Hlint hs-source-dirs: plugins/hls-hlint-plugin/src @@ -705,10 +706,10 @@ library hls-hlint-plugin , containers , deepseq , filepath - , ghcide == 2.8.0.0 + , ghcide == 2.9.0.0 , hashable , hlint >= 3.5 && < 3.9 - , hls-plugin-api == 2.8.0.0 + , hls-plugin-api == 2.9.0.0 , lens , lsp , mtl @@ -736,7 +737,7 @@ library hls-hlint-plugin test-suite hls-hlint-plugin-tests import: defaults, pedantic, test-defaults, warnings - if !flag(hlint) + if !(flag(hlint) && impl(ghc < 9.10)) buildable: False type: exitcode-stdio-1.0 hs-source-dirs: plugins/hls-hlint-plugin/test @@ -748,7 +749,7 @@ test-suite hls-hlint-plugin-tests , filepath , haskell-language-server:hls-hlint-plugin , hls-plugin-api - , hls-test-utils == 2.8.0.0 + , hls-test-utils == 2.9.0.0 , lens , lsp-types , text @@ -809,7 +810,7 @@ test-suite hls-stan-plugin-tests , filepath , haskell-language-server:hls-stan-plugin , hls-plugin-api - , hls-test-utils == 2.8.0.0 + , hls-test-utils == 2.9.0.0 , lens , lsp-types , text @@ -841,8 +842,8 @@ library hls-module-name-plugin , base >=4.12 && <5 , containers , filepath - , ghcide == 2.8.0.0 - , hls-plugin-api == 2.8.0.0 + , ghcide == 2.9.0.0 + , hls-plugin-api == 2.9.0.0 , lsp , text , transformers @@ -859,7 +860,7 @@ test-suite hls-module-name-plugin-tests , base , filepath , haskell-language-server:hls-module-name-plugin - , hls-test-utils == 2.8.0.0 + , hls-test-utils == 2.9.0.0 ----------------------------- -- pragmas plugin @@ -885,8 +886,8 @@ library hls-pragmas-plugin , base >=4.12 && <5 , extra , fuzzy - , ghcide == 2.8.0.0 - , hls-plugin-api == 2.8.0.0 + , ghcide == 2.9.0.0 + , hls-plugin-api == 2.9.0.0 , lens , lsp , text @@ -905,7 +906,7 @@ test-suite hls-pragmas-plugin-tests , base , filepath , haskell-language-server:hls-pragmas-plugin - , hls-test-utils == 2.8.0.0 + , hls-test-utils == 2.9.0.0 , lens , lsp-types , text @@ -920,13 +921,13 @@ flag splice manual: True common splice - if flag(splice) + if flag(splice) && impl(ghc < 9.10) build-depends: haskell-language-server:hls-splice-plugin cpp-options: -Dhls_splice library hls-splice-plugin import: defaults, pedantic, warnings - if !flag(splice) + if !(flag(splice) && impl(ghc < 9.10)) buildable: False exposed-modules: Ide.Plugin.Splice @@ -940,8 +941,8 @@ library hls-splice-plugin , foldl , ghc , ghc-exactprint - , ghcide == 2.8.0.0 - , hls-plugin-api == 2.8.0.0 + , ghcide == 2.9.0.0 + , hls-plugin-api == 2.9.0.0 , haskell-language-server:hls-refactor-plugin , lens , lsp @@ -956,7 +957,7 @@ library hls-splice-plugin test-suite hls-splice-plugin-tests import: defaults, pedantic, test-defaults, warnings - if !flag(splice) + if !(flag(splice) && impl(ghc < 9.10)) buildable: False type: exitcode-stdio-1.0 hs-source-dirs: plugins/hls-splice-plugin/test @@ -965,7 +966,7 @@ test-suite hls-splice-plugin-tests , base , filepath , haskell-language-server:hls-splice-plugin - , hls-test-utils == 2.8.0.0 + , hls-test-utils == 2.9.0.0 , text ----------------------------- @@ -993,10 +994,10 @@ library hls-alternate-number-format-plugin , base >=4.12 && < 5 , containers , extra - , ghcide == 2.8.0.0 + , ghcide == 2.9.0.0 , ghc-boot-th , hls-graph - , hls-plugin-api == 2.8.0.0 + , hls-plugin-api == 2.9.0.0 , lens , lsp ^>=2.7 , mtl @@ -1022,7 +1023,7 @@ test-suite hls-alternate-number-format-plugin-tests , base >=4.12 && < 5 , filepath , haskell-language-server:hls-alternate-number-format-plugin - , hls-test-utils == 2.8.0.0 + , hls-test-utils == 2.9.0.0 , regex-tdfa , tasty-quickcheck , text @@ -1055,8 +1056,8 @@ library hls-qualify-imported-names-plugin build-depends: , base >=4.12 && <5 , containers - , ghcide == 2.8.0.0 - , hls-plugin-api == 2.8.0.0 + , ghcide == 2.9.0.0 + , hls-plugin-api == 2.9.0.0 , lens , lsp , text @@ -1078,7 +1079,7 @@ test-suite hls-qualify-imported-names-plugin-tests , text , filepath , haskell-language-server:hls-qualify-imported-names-plugin - , hls-test-utils == 2.8.0.0 + , hls-test-utils == 2.9.0.0 ----------------------------- -- code range plugin @@ -1109,9 +1110,9 @@ library hls-code-range-plugin , containers , deepseq , extra - , ghcide == 2.8.0.0 + , ghcide == 2.9.0.0 , hashable - , hls-plugin-api == 2.8.0.0 + , hls-plugin-api == 2.9.0.0 , lens , lsp , mtl @@ -1134,7 +1135,7 @@ test-suite hls-code-range-plugin-tests , bytestring , filepath , haskell-language-server:hls-code-range-plugin - , hls-test-utils == 2.8.0.0 + , hls-test-utils == 2.9.0.0 , lens , lsp , lsp-test @@ -1163,8 +1164,8 @@ library hls-change-type-signature-plugin hs-source-dirs: plugins/hls-change-type-signature-plugin/src build-depends: , base >=4.12 && < 5 - , ghcide == 2.8.0.0 - , hls-plugin-api == 2.8.0.0 + , ghcide == 2.9.0.0 + , hls-plugin-api == 2.9.0.0 , lsp-types , regex-tdfa , syb @@ -1189,7 +1190,7 @@ test-suite hls-change-type-signature-plugin-tests , base >=4.12 && < 5 , filepath , haskell-language-server:hls-change-type-signature-plugin - , hls-test-utils == 2.8.0.0 + , hls-test-utils == 2.9.0.0 , regex-tdfa , text default-extensions: @@ -1223,9 +1224,9 @@ library hls-gadt-plugin , containers , extra , ghc - , ghcide == 2.8.0.0 + , ghcide == 2.9.0.0 , ghc-exactprint - , hls-plugin-api == 2.8.0.0 + , hls-plugin-api == 2.9.0.0 , haskell-language-server:hls-refactor-plugin , lens , lsp >=2.7 @@ -1246,7 +1247,7 @@ test-suite hls-gadt-plugin-tests , base , filepath , haskell-language-server:hls-gadt-plugin - , hls-test-utils == 2.8.0.0 + , hls-test-utils == 2.9.0.0 , text ----------------------------- @@ -1274,9 +1275,9 @@ library hls-explicit-fixity-plugin , containers , deepseq , extra - , ghcide == 2.8.0.0 + , ghcide == 2.9.0.0 , hashable - , hls-plugin-api == 2.8.0.0 + , hls-plugin-api == 2.9.0.0 , lsp >=2.7 , text @@ -1293,7 +1294,7 @@ test-suite hls-explicit-fixity-plugin-tests , base , filepath , haskell-language-server:hls-explicit-fixity-plugin - , hls-test-utils == 2.8.0.0 + , hls-test-utils == 2.9.0.0 , text ----------------------------- @@ -1317,8 +1318,8 @@ library hls-explicit-record-fields-plugin exposed-modules: Ide.Plugin.ExplicitFields build-depends: , base >=4.12 && <5 - , ghcide == 2.8.0.0 - , hls-plugin-api == 2.8.0.0 + , ghcide == 2.9.0.0 + , hls-plugin-api == 2.9.0.0 , lsp , lens , hls-graph @@ -1344,7 +1345,7 @@ test-suite hls-explicit-record-fields-plugin-tests , filepath , text , haskell-language-server:hls-explicit-record-fields-plugin - , hls-test-utils == 2.8.0.0 + , hls-test-utils == 2.9.0.0 ----------------------------- -- overloaded record dot plugin @@ -1392,7 +1393,7 @@ test-suite hls-overloaded-record-dot-plugin-tests , filepath , text , haskell-language-server:hls-overloaded-record-dot-plugin - , hls-test-utils == 2.8.0.0 + , hls-test-utils == 2.9.0.0 ----------------------------- @@ -1405,21 +1406,22 @@ flag floskell manual: True common floskell - if flag(floskell) + if flag(floskell) && impl(ghc < 9.10) build-depends: haskell-language-server:hls-floskell-plugin cpp-options: -Dhls_floskell library hls-floskell-plugin import: defaults, pedantic, warnings - if !flag(floskell) + -- https://github.com/ennocramer/floskell/pull/82 + if !(flag(floskell) && impl(ghc < 9.10)) buildable: False exposed-modules: Ide.Plugin.Floskell hs-source-dirs: plugins/hls-floskell-plugin/src build-depends: , base >=4.12 && <5 , floskell ^>=0.11.0 - , ghcide == 2.8.0.0 - , hls-plugin-api == 2.8.0.0 + , ghcide == 2.9.0.0 + , hls-plugin-api == 2.9.0.0 , lsp-types ^>=2.3 , mtl , text @@ -1427,7 +1429,7 @@ library hls-floskell-plugin test-suite hls-floskell-plugin-tests import: defaults, pedantic, test-defaults, warnings - if !flag(floskell) + if !(flag(floskell) && impl(ghc < 9.10)) buildable: False type: exitcode-stdio-1.0 hs-source-dirs: plugins/hls-floskell-plugin/test @@ -1436,7 +1438,7 @@ test-suite hls-floskell-plugin-tests , base , filepath , haskell-language-server:hls-floskell-plugin - , hls-test-utils == 2.8.0.0 + , hls-test-utils == 2.9.0.0 ----------------------------- -- fourmolu plugin @@ -1463,8 +1465,8 @@ library hls-fourmolu-plugin , filepath , fourmolu ^>= 0.14 || ^>= 0.15 || ^>= 0.16 , ghc-boot-th - , ghcide == 2.8.0.0 - , hls-plugin-api == 2.8.0.0 + , ghcide == 2.9.0.0 + , hls-plugin-api == 2.9.0.0 , lens , lsp , mtl @@ -1491,7 +1493,7 @@ test-suite hls-fourmolu-plugin-tests , filepath , haskell-language-server:hls-fourmolu-plugin , hls-plugin-api - , hls-test-utils == 2.8.0.0 + , hls-test-utils == 2.9.0.0 , lsp-test ----------------------------- @@ -1519,8 +1521,8 @@ library hls-ormolu-plugin , extra , filepath , ghc-boot-th - , ghcide == 2.8.0.0 - , hls-plugin-api == 2.8.0.0 + , ghcide == 2.9.0.0 + , hls-plugin-api == 2.9.0.0 , lsp , mtl , process-extras >= 0.7.1 @@ -1547,7 +1549,7 @@ test-suite hls-ormolu-plugin-tests , filepath , haskell-language-server:hls-ormolu-plugin , hls-plugin-api - , hls-test-utils == 2.8.0.0 + , hls-test-utils == 2.9.0.0 , lsp-types , ormolu @@ -1561,13 +1563,14 @@ flag stylishHaskell manual: True common stylishHaskell - if flag(stylishHaskell) + if flag(stylishHaskell) && impl(ghc < 9.10) build-depends: haskell-language-server:hls-stylish-haskell-plugin cpp-options: -Dhls_stylishHaskell library hls-stylish-haskell-plugin import: defaults, pedantic, warnings - if !flag(stylishHaskell) + -- https://github.com/haskell/stylish-haskell/issues/479 + if !(flag(stylishHaskell) && impl(ghc < 9.10)) buildable: False exposed-modules: Ide.Plugin.StylishHaskell hs-source-dirs: plugins/hls-stylish-haskell-plugin/src @@ -1576,8 +1579,8 @@ library hls-stylish-haskell-plugin , directory , filepath , ghc-boot-th - , ghcide == 2.8.0.0 - , hls-plugin-api == 2.8.0.0 + , ghcide == 2.9.0.0 + , hls-plugin-api == 2.9.0.0 , lsp-types , mtl , stylish-haskell ^>=0.12 || ^>=0.13 || ^>=0.14 @@ -1586,7 +1589,7 @@ library hls-stylish-haskell-plugin test-suite hls-stylish-haskell-plugin-tests import: defaults, pedantic, test-defaults, warnings - if !flag(stylishHaskell) + if !(flag(stylishHaskell) && impl(ghc < 9.10)) buildable: False type: exitcode-stdio-1.0 hs-source-dirs: plugins/hls-stylish-haskell-plugin/test @@ -1595,7 +1598,7 @@ test-suite hls-stylish-haskell-plugin-tests , base , filepath , haskell-language-server:hls-stylish-haskell-plugin - , hls-test-utils == 2.8.0.0 + , hls-test-utils == 2.9.0.0 ----------------------------- -- refactor plugin @@ -1648,8 +1651,8 @@ library hls-refactor-plugin , bytestring , ghc-boot , regex-tdfa - , ghcide == 2.8.0.0 - , hls-plugin-api == 2.8.0.0 + , ghcide == 2.9.0.0 + , hls-plugin-api == 2.9.0.0 , lsp , text , transformers @@ -1687,7 +1690,7 @@ test-suite hls-refactor-plugin-tests , filepath , ghcide:ghcide , haskell-language-server:hls-refactor-plugin - , hls-test-utils == 2.8.0.0 + , hls-test-utils == 2.9.0.0 , lens , lsp-test , lsp-types @@ -1735,8 +1738,8 @@ library hls-semantic-tokens-plugin , extra , text-rope , mtl >= 2.2 - , ghcide == 2.8.0.0 - , hls-plugin-api == 2.8.0.0 + , ghcide == 2.9.0.0 + , hls-plugin-api == 2.9.0.0 , lens , lsp >=2.6 , text @@ -1746,7 +1749,7 @@ library hls-semantic-tokens-plugin , array , deepseq , dlist - , hls-graph == 2.8.0.0 + , hls-graph == 2.9.0.0 , template-haskell , data-default , stm @@ -1768,10 +1771,10 @@ test-suite hls-semantic-tokens-plugin-tests , containers , data-default , filepath - , ghcide == 2.8.0.0 + , ghcide == 2.9.0.0 , haskell-language-server:hls-semantic-tokens-plugin - , hls-plugin-api == 2.8.0.0 - , hls-test-utils == 2.8.0.0 + , hls-plugin-api == 2.9.0.0 + , hls-test-utils == 2.9.0.0 , lens , lsp , lsp-test @@ -1802,9 +1805,9 @@ library hls-notes-plugin build-depends: , base >=4.12 && <5 , array - , ghcide == 2.8.0.0 - , hls-graph == 2.8.0.0 - , hls-plugin-api == 2.8.0.0 + , ghcide == 2.9.0.0 + , hls-graph == 2.9.0.0 + , hls-plugin-api == 2.9.0.0 , lens , lsp >=2.7 , mtl >= 2.2 @@ -1831,7 +1834,7 @@ test-suite hls-notes-plugin-tests , base , filepath , haskell-language-server:hls-notes-plugin - , hls-test-utils == 2.8.0.0 + , hls-test-utils == 2.9.0.0 default-extensions: OverloadedStrings ---------------------------- @@ -1892,10 +1895,10 @@ library , extra , filepath , ghc - , ghcide == 2.8.0.0 + , ghcide == 2.9.0.0 , githash >=0.1.6.1 , hie-bios - , hls-plugin-api == 2.8.0.0 + , hls-plugin-api == 2.9.0.0 , optparse-applicative , optparse-simple , prettyprinter >= 1.7 @@ -2002,7 +2005,7 @@ test-suite func-test , ghcide:ghcide , hashable , hls-plugin-api - , hls-test-utils == 2.8.0.0 + , hls-test-utils == 2.9.0.0 , lens , lsp-test , lsp-types @@ -2028,7 +2031,7 @@ test-suite func-test if flag(eval) cpp-options: -Dhls_eval -- formatters - if flag(floskell) + if flag(floskell) && impl(ghc < 9.10) cpp-options: -Dhls_floskell if flag(fourmolu) cpp-options: -Dhls_fourmolu @@ -2047,7 +2050,7 @@ test-suite wrapper-test build-depends: , base >=4.16 && <5 , extra - , hls-test-utils == 2.8.0.0 + , hls-test-utils == 2.9.0.0 , process hs-source-dirs: test/wrapper @@ -2131,7 +2134,7 @@ test-suite ghcide-tests , text , text-rope , unordered-containers - , hls-test-utils == 2.8.0.0 + , hls-test-utils == 2.9.0.0 if impl(ghc <9.3) build-depends: ghc-typelits-knownnat diff --git a/hls-graph/hls-graph.cabal b/hls-graph/hls-graph.cabal index 72adcc3cd1..a06766ae22 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: 2.8.0.0 +version: 2.9.0.0 synopsis: Haskell Language Server internal graph API description: Please see the README on GitHub at diff --git a/hls-plugin-api/hls-plugin-api.cabal b/hls-plugin-api/hls-plugin-api.cabal index 05d5a9ad1e..0a22379533 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: 2.8.0.0 +version: 2.9.0.0 synopsis: Haskell Language Server API for plugin communication description: Please see the README on GitHub at @@ -66,7 +66,7 @@ library , filepath , ghc , hashable - , hls-graph == 2.8.0.0 + , hls-graph == 2.9.0.0 , lens , lens-aeson , lsp ^>=2.7 diff --git a/hls-test-utils/hls-test-utils.cabal b/hls-test-utils/hls-test-utils.cabal index 299d869b7b..be7a4aee6b 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: 2.8.0.0 +version: 2.9.0.0 synopsis: Utilities used in the tests of Haskell Language Server description: Please see the README on GitHub at @@ -43,8 +43,8 @@ library , directory , extra , filepath - , ghcide == 2.8.0.0 - , hls-plugin-api == 2.8.0.0 + , ghcide == 2.9.0.0 + , hls-plugin-api == 2.9.0.0 , lens , lsp , lsp-test ^>=0.17