Prepare 1.6.0 release (#2642)

* Add list of merged prs

* Remove branch trigger

* Update release instructions

* Include 9.2.1 in the current release

* Bump up hls version

* remove duplicate mention

* Remove references to branch name

* Fix cabal.project gen

* Correct fail-fast condition

* Bump up minor version

* Bump up major version

* Bump up major version

* Allow brittany only for 9.0.1

* brittany not supported in hackage and 9.0.2

* Not short hls for hackage

* Bump up versions everywhere

* Update hackage index

* Add ghcide in rename plugin

* Apply linter and add selection demo

* Add header linkable

* Add first version of release description

* Add last prs

* Mention wingman

* Grammar corrections

Co-authored-by: Jan Hrcek <2716069+jhrcek@users.noreply.github.com>

* Correct mention

Co-authored-by: Pepe Iborra <pepeiborra@me.com>

* Warn about th in docs

* Remove reference to install doc

* Rephrasing

Co-authored-by: J. S. <document_done@hotmail.com>

* Better style

Co-authored-by: Junyoung "Clare" Jang <jjc9310@gmail.com>

* Use could to stress it likely will not work

* REmove reliable from the warning

* Reorder comments

* Rephrasing

Co-authored-by: Michael Peyton Jones <me@michaelpj.com>

* Update docs/supported-versions.md

Co-authored-by: Michael Peyton Jones <me@michaelpj.com>

* Use last version of internal deps

* Restore original wording

* One more pr

* One more pr

Co-authored-by: Jan Hrcek <2716069+jhrcek@users.noreply.github.com>
Co-authored-by: Pepe Iborra <pepeiborra@me.com>
Co-authored-by: J. S. <document_done@hotmail.com>
Co-authored-by: Junyoung "Clare" Jang <jjc9310@gmail.com>
Co-authored-by: Michael Peyton Jones <me@michaelpj.com>
This commit is contained in:
Javier Neira 2022-01-28 10:06:56 +01:00 committed by GitHub
parent c2f6c19ed9
commit ce41b6459a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
41 changed files with 480 additions and 146 deletions

View File

@ -15,6 +15,11 @@ inputs:
description: "To allow make unique the cache key"
required: false
default: ""
shorten-hls:
description: "Whether we have to shorten haskell language server to hls"
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' \

View File

@ -9,9 +9,6 @@ on:
default: 'false'
release:
types: [created]
push:
branches:
- '*-check-build'
jobs:
build:
@ -90,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 }}
@ -130,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 }}
@ -173,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 }}
@ -220,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 }}
@ -258,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 }}

View File

@ -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",
@ -42,8 +42,6 @@ jobs:
exclude:
- ghc: "9.0.2"
package: "hls-stylish-haskell-plugin"
- ghc: "9.0.2"
package: "hls-tactics-plugin"
steps:
@ -53,6 +51,7 @@ jobs:
with:
ghc: ${{ matrix.ghc }}
os: ${{ runner.os }}
shorten-hls: 'false'
- name: "Run cabal check"
run: |
@ -109,6 +108,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
@ -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:

View File

@ -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'

View File

@ -1,5 +1,293 @@
# Changelog for haskell-language-server
## 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 @wz1000, @mpickering and @alanz among others
- 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!
### 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*
- 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)
- 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.
### 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
([#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
([#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:

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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,7 @@ 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
- [ ] 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 +38,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 +48,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 <https://github.com/haskell/ghcup-metadata>
- example pull request [here](https://github.com/haskell/ghcup-metadata/pull/11)
## Making a new release of haskell-language-server in github
@ -143,12 +146,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 +163,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: <https://gitlab.haskell.org/haskell/haskell-language-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.

View File

@ -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 <https://haskellwingman.dev/> 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.

View File

@ -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) | |
@ -28,11 +28,14 @@ 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 will be supported in the prebuilt binaries but not in a HLS binary installed from Hackage.
### Plugins support by GHC version
| 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 |

View File

@ -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 ...`.

View File

@ -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
@ -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.6,
sorted-list,
sqlite-simple,
stm,

View File

@ -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,7 +824,7 @@ 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."

View File

@ -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 <https://github.com/haskell/haskell-language-server#readme>
@ -70,12 +70,12 @@ library
, cryptohash-sha1
, data-default
, ghc
, ghcide ^>=1.4 || ^>=1.5
, ghcide ^>=1.6
, githash
, lsp
, hie-bios
, hiedb
, hls-plugin-api ^>=1.2
, hls-plugin-api ^>=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
@ -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
@ -449,7 +449,7 @@ test-suite func-test
, lens
, lens-aeson
, ghcide
, hls-test-utils ^>= 1.1.0.0
, hls-test-utils ^>=1.2
, lsp-types
, aeson
, hls-plugin-api

View File

@ -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:

View File

@ -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 <https://github.com/haskell/haskell-language-server/tree/master/hls-graph#readme>

View File

@ -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 <https://github.com/haskell/haskell-language-server#readme>
@ -46,7 +46,7 @@ library
, extra
, ghc
, hashable
, hls-graph >=1.4 && < 1.6
, hls-graph ^>= 1.6
, hslogger
, lens
, lens-aeson

View File

@ -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 <https://github.com/haskell/haskell-language-server#readme>
@ -41,9 +41,9 @@ library
, directory
, extra
, filepath
, ghcide ^>=1.5.0
, ghcide ^>=1.6
, hls-graph
, hls-plugin-api ^>=1.2
, hls-plugin-api ^>=1.3
, hspec <2.8
, hspec-core
, lens

View File

@ -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 <https://github.com/haskell/haskell-language-server#readme>
@ -25,10 +25,10 @@ library
aeson
, base >=4.12 && < 5
, containers
, ghcide >=1.5.0 && <1.6
, ghcide ^>=1.6
, ghc-boot-th
, hls-graph
, hls-plugin-api >=1.1 && < 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.0 && <1.2
, hls-test-utils ^>=1.2
, lsp
, QuickCheck
, regex-tdfa

View File

@ -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 <https://github.com/haskell/haskell-language-server#readme>
@ -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.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.0 && <1.2
, hls-test-utils ^>=1.2

View File

@ -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 <https://github.com/haskell/haskell-language-server/tree/master/plugins/hls-call-hierarchy-plugin#readme>
@ -30,9 +30,9 @@ library
, containers
, extra
, ghc
, ghcide ^>=1.4.1 || ^>= 1.5.0
, ghcide ^>=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.2
, lens
, lsp
, lsp-test

View File

@ -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.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.0 && <1.2
, hls-test-utils ^>=1.2
, lens
, lsp-types

View File

@ -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 <https://github.com/haskell/haskell-language-server#readme>
@ -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
, 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
, hls-test-utils ^>=1.2
, lens
, lsp-types
, text

View File

@ -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 <https://github.com/haskell/haskell-language-server#readme>
@ -24,9 +24,9 @@ library
, containers
, deepseq
, ghc
, ghcide ^>=1.4 || ^>=1.5
, ghcide ^>=1.6
, hls-graph
, hls-plugin-api >=1.1 && <1.3
, hls-plugin-api ^>=1.3
, lsp
, text
, unordered-containers

View File

@ -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 <https://github.com/haskell/haskell-language-server#readme>
@ -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.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.0 && <1.2
, hls-test-utils ^>=1.2

View File

@ -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 <https://github.com/haskell/haskell-language-server#readme>
@ -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.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.0 && <1.2
, hls-test-utils ^>=1.2
, lsp-test

View File

@ -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 <https://github.com/haskell/haskell-language-server>
@ -29,8 +29,8 @@ library
, containers
, ghc
, ghc-exactprint
, ghcide >=1.2 && <1.6
, hls-plugin-api >=1.1 && <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.0 && <1.2
, hls-test-utils ^>=1.2
, text

View File

@ -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 <https://github.com/haskell/haskell-language-server#readme>
@ -55,10 +55,10 @@ library
, extra
, filepath
, ghc-exactprint >=0.6.3.4
, ghcide ^>=1.5.0
, ghcide ^>=1.6
, hashable
, hlint
, hls-plugin-api >=1.1 && <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.0 && <1.2
, hls-test-utils ^>=1.2
, lens
, lsp-types
, text

View File

@ -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 <https://github.com/haskell/haskell-language-server#readme>
@ -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.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.0 && <1.2
, hls-test-utils ^>=1.2

View File

@ -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 <https://github.com/haskell/haskell-language-server#readme>
@ -24,8 +24,8 @@ library
, filepath
, ghc
, ghc-boot-th
, ghcide ^>=1.5.0
, hls-plugin-api >=1.1 && <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.0 && <1.2
, hls-test-utils ^>=1.2
, lsp-types

View File

@ -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 <https://github.com/haskell/haskell-language-server#readme>
@ -25,8 +25,8 @@ library
, extra
, fuzzy
, ghc
, ghcide >=1.2 && <1.6
, hls-plugin-api >=1.1 && <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.0 && <1.2
, hls-test-utils ^>=1.2
, lens
, lsp-types
, text

View File

@ -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 <https://github.com/haskell/haskell-language-server#readme>
@ -26,9 +26,9 @@ library
, containers
, deepseq
, ghc
, ghcide ^>=1.5.0
, ghcide ^>=1.6
, hls-graph
, hls-plugin-api >=1.1 && <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.0 && <1.2
, hls-test-utils ^>=1.2

View File

@ -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 <https://github.com/haskell/haskell-language-server#readme>
@ -24,10 +24,10 @@ library
, containers
, deepseq
, ghc
, ghcide ^>=1.4 || ^>=1.5
, ghcide ^>=1.6
, hls-explicit-imports-plugin ^>=1.0.0.1
, hls-graph
, hls-plugin-api >=1.1 && <1.3
, hls-plugin-api ^>=1.3
, lsp
, text
, unordered-containers

View File

@ -25,9 +25,9 @@ library
, extra
, ghc
, ghc-exactprint
, ghcide >=1.4 && <1.6
, ghcide ^>=1.6
, hiedb
, hls-plugin-api ^>=1.2
, 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.0 && <1.2
, hls-test-utils ^>=1.2

View File

@ -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 <https://github.com/haskell/haskell-language-server#readme>
@ -24,9 +24,9 @@ library
, directory
, extra
, ghc
, ghcide ^>=1.5.0
, ghcide ^>=1.6
, hashable
, hls-plugin-api >=1.1 && <1.3
, hls-plugin-api ^>=1.3
, lsp
, lsp-types
, retrie >=0.1.1.0

View File

@ -32,8 +32,8 @@ library
, aeson
, base >=4.12 && <5
, containers
, ghcide ^>=1.5.0
, hls-plugin-api >=1.1 && <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.0 && <1.2
, hls-test-utils ^>=1.2
, lsp
, lsp-test
, text

View File

@ -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.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.0 && <1.2
, hls-test-utils ^>=1.2
, text

View File

@ -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 <https://github.com/haskell/haskell-language-server#readme>
@ -24,8 +24,8 @@ library
, filepath
, ghc
, ghc-boot-th
, ghcide ^>=1.5.0
, hls-plugin-api >=1.1 && <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.0 && <1.2
, hls-test-utils ^>=1.2

View File

@ -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 <https://github.com/haskell/haskell-language-server#readme>
@ -82,9 +82,9 @@ library
, ghc-boot-th
, ghc-exactprint
, ghc-source-gen ^>=0.4.1
, ghcide ^>=1.5.0
, ghcide ^>=1.6
, hls-graph
, hls-plugin-api >=1.1 && <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.0 && <1.2
, hls-test-utils ^>=1.2
, hspec
, hspec-expectations
, lens

View File

@ -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