Skip to content

Commit c883a09

Browse files
authored
Merge branch 'master' into batch-load-multi-read
2 parents 9efcb2e + 9127381 commit c883a09

File tree

11 files changed

+125
-91
lines changed

11 files changed

+125
-91
lines changed

.circleci/config.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,14 +60,14 @@ version: 2
6060
jobs:
6161
stackage-lts22:
6262
docker:
63-
- image: haskell:9.6.5-slim-buster
63+
- image: haskell:9.6.6-slim-bullseye
6464
environment:
6565
- STACK_FILE: "stack-lts22.yaml"
6666
<<: *defaults
6767

68-
stackage-nightly:
68+
stackage-lts23:
6969
docker:
70-
- image: haskell:9.8.2-slim-buster
70+
- image: haskell:9.8.4-slim-bullseye
7171
environment:
7272
- STACK_FILE: "stack.yaml"
7373
<<: *defaults
@@ -77,4 +77,4 @@ workflows:
7777
multiple-ghcs:
7878
jobs:
7979
- stackage-lts22
80-
- stackage-nightly
80+
- stackage-lts23

.github/workflows/test.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,11 +169,11 @@ jobs:
169169
name: Test hls-stylish-haskell-plugin
170170
run: cabal test hls-stylish-haskell-plugin-tests || cabal test hls-stylish-haskell-plugin-tests
171171

172-
- if: matrix.test && matrix.ghc != '9.12'
172+
- if: matrix.test
173173
name: Test hls-ormolu-plugin
174174
run: cabal test hls-ormolu-plugin-tests || cabal test hls-ormolu-plugin-tests
175175

176-
- if: matrix.test && matrix.ghc != '9.12'
176+
- if: matrix.test
177177
name: Test hls-fourmolu-plugin
178178
run: cabal test hls-fourmolu-plugin-tests || cabal test hls-fourmolu-plugin-tests
179179

cabal.project

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ packages:
88
./hls-test-utils
99

1010

11-
index-state: 2025-03-20T00:00:00Z
11+
index-state: 2025-04-08T01:30:37Z
1212

1313
tests: True
1414
test-show-details: direct
@@ -44,15 +44,13 @@ constraints:
4444
bitvec -simd,
4545

4646

47-
if impl(ghc >= 9.8.4) && impl(ghc < 9.8.5)
48-
-- By depending on ghc-lib-parser and ghc, we are encountering
49-
-- a constraint conflict, ghc-9.8.4 comes with `filepath-1.4.301.0`,
50-
-- and `ghc-lib-parser-9.8.4.20241130` specifies `filepath >=1.5 && < 1.6.
51-
-- See https://github.com/digital-asset/ghc-lib/issues/572 for details.
52-
allow-older:
53-
ghc-lib-parser:filepath
54-
constraints:
55-
ghc-lib-parser==9.8.4.20241130
47+
-- Some of the formatters need the latest Cabal-syntax version,
48+
-- but 'cabal-install-parsers-0.6.2' only has Cabal-syntax (>=3.12.0.0 && <3.13).
49+
-- So, we relax the upper bounds here.
50+
-- fourmolu-0.18.0 and ormolu-0.8 depend on Cabal-syntax == 3.14.*, while
51+
-- cabal-add depends on cabal-install-parsers.
52+
allow-newer:
53+
cabal-install-parsers:Cabal-syntax,
5654

5755

5856
source-repository-package
@@ -65,8 +63,6 @@ allow-older: hie-bios:optparse-applicative
6563
if impl(ghc >= 9.11)
6664
benchmarks: False
6765
allow-newer:
68-
hiedb:base,
69-
hiedb:ghc,
7066
hie-bios:ghc,
7167
ghc-trace-events:base,
7268
tasty-hspec:base,

docs/support/plugin-support.md

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -37,34 +37,34 @@ For example, a plugin to provide a formatter which has itself been abandoned has
3737

3838
## Current plugin support tiers
3939

40-
| Plugin | Tier | Unsupported GHC versions |
41-
| ----------------------------------- | ---- | ------------------------ |
42-
| ghcide core plugins | 1 | |
43-
| `hls-call-hierarchy-plugin` | 1 | |
44-
| `hls-code-range-plugin` | 1 | |
45-
| `hls-explicit-imports-plugin` | 1 | |
46-
| `hls-pragmas-plugin` | 1 | |
47-
| `hls-refactor-plugin` | 1 | |
48-
| `hls-alternate-number-plugin` | 2 | |
49-
| `hls-cabal-fmt-plugin` | 2 | |
50-
| `hls-cabal-gild-plugin` | 2 | |
51-
| `hls-class-plugin` | 2 | |
52-
| `hls-change-type-signature-plugin` | 2 | |
53-
| `hls-eval-plugin` | 2 | |
54-
| `hls-explicit-fixity-plugin` | 2 | |
55-
| `hls-explicit-record-fields-plugin` | 2 | |
56-
| `hls-fourmolu-plugin` | 2 | |
57-
| `hls-gadt-plugin` | 2 | |
58-
| `hls-hlint-plugin` | 2 | 9.10.1 |
59-
| `hls-module-name-plugin` | 2 | |
60-
| `hls-notes-plugin` | 2 | |
61-
| `hls-qualify-imported-names-plugin` | 2 | |
62-
| `hls-ormolu-plugin` | 2 | |
63-
| `hls-rename-plugin` | 2 | |
64-
| `hls-stylish-haskell-plugin` | 2 | 9.10.1 |
65-
| `hls-overloaded-record-dot-plugin` | 2 | |
66-
| `hls-semantic-tokens-plugin` | 2 | |
67-
| `hls-floskell-plugin` | 3 | 9.10.1 |
68-
| `hls-stan-plugin` | 3 | |
69-
| `hls-retrie-plugin` | 3 | 9.10.1 |
70-
| `hls-splice-plugin` | 3 | 9.10.1 |
40+
| Plugin | Tier | Unsupported GHC versions |
41+
| ------------------------------------ | ---- | ------------------------ |
42+
| ghcide core plugins | 1 | |
43+
| `hls-call-hierarchy-plugin` | 1 | |
44+
| `hls-code-range-plugin` | 1 | |
45+
| `hls-explicit-imports-plugin` | 1 | |
46+
| `hls-pragmas-plugin` | 1 | |
47+
| `hls-refactor-plugin` | 2 | 9.12.2 |
48+
| `hls-alternate-number-format-plugin` | 2 | |
49+
| `hls-cabal-fmt-plugin` | 2 | |
50+
| `hls-cabal-gild-plugin` | 2 | |
51+
| `hls-class-plugin` | 2 | |
52+
| `hls-change-type-signature-plugin` | 2 | |
53+
| `hls-eval-plugin` | 2 | |
54+
| `hls-explicit-fixity-plugin` | 2 | |
55+
| `hls-explicit-record-fields-plugin` | 2 | |
56+
| `hls-fourmolu-plugin` | 2 | |
57+
| `hls-gadt-plugin` | 2 | 9.12.2 |
58+
| `hls-hlint-plugin` | 2 | 9.10.1, 9.12.2 |
59+
| `hls-module-name-plugin` | 2 | |
60+
| `hls-notes-plugin` | 2 | |
61+
| `hls-qualify-imported-names-plugin` | 2 | |
62+
| `hls-ormolu-plugin` | 2 | |
63+
| `hls-rename-plugin` | 2 | |
64+
| `hls-stylish-haskell-plugin` | 2 | 9.10.1, 9.12.2 |
65+
| `hls-overloaded-record-dot-plugin` | 2 | |
66+
| `hls-semantic-tokens-plugin` | 2 | |
67+
| `hls-floskell-plugin` | 3 | 9.10.1, 9.12.2 |
68+
| `hls-stan-plugin` | 3 | 9.12.2 |
69+
| `hls-retrie-plugin` | 3 | 9.10.1, 9.12.2 |
70+
| `hls-splice-plugin` | 3 | 9.10.1, 9.12.2 |

ghcide/ghcide.cabal

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ library
7575
, hashable
7676
, hie-bios ^>=0.14.0
7777
, hie-compat ^>=0.3.0.0
78-
, hiedb ^>= 0.6.0.0
78+
, hiedb ^>= 0.6.0.2
7979
, hls-graph == 2.10.0.0
8080
, hls-plugin-api == 2.10.0.0
8181
, implicit-hie >= 0.1.4.0 && < 0.1.5

haskell-language-server.cabal

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ flag cabalfmt
117117
manual: True
118118

119119
common cabalfmt
120-
if flag(cabalfmt)
120+
if flag(cabalfmt) && flag(cabal)
121121
build-depends: haskell-language-server:hls-cabal-fmt-plugin
122122
cpp-options: -Dhls_cabalfmt
123123

@@ -129,7 +129,7 @@ flag isolateCabalfmtTests
129129

130130
library hls-cabal-fmt-plugin
131131
import: defaults, pedantic, warnings
132-
if !flag(cabalfmt)
132+
if !flag(cabalfmt) || !flag(cabal)
133133
buildable: False
134134
exposed-modules: Ide.Plugin.CabalFmt
135135
hs-source-dirs: plugins/hls-cabal-fmt-plugin/src
@@ -174,7 +174,7 @@ flag cabalgild
174174
manual: True
175175

176176
common cabalgild
177-
if flag(cabalgild) && (impl(ghc < 9.11) || flag(ignore-plugins-ghc-bounds))
177+
if flag(cabalgild) && flag(cabal)
178178
build-depends: haskell-language-server:hls-cabal-gild-plugin
179179
cpp-options: -Dhls_cabalgild
180180

@@ -186,7 +186,7 @@ flag isolateCabalGildTests
186186

187187
library hls-cabal-gild-plugin
188188
import: defaults, pedantic, warnings
189-
if !flag(cabalgild) || (impl(ghc > 9.11) && !flag(ignore-plugins-ghc-bounds))
189+
if !flag(cabalgild) || !flag(cabal)
190190
buildable: False
191191
exposed-modules: Ide.Plugin.CabalGild
192192
hs-source-dirs: plugins/hls-cabal-gild-plugin/src
@@ -203,7 +203,7 @@ library hls-cabal-gild-plugin
203203
-- The `hls-cabal-plugin` is needed for tests, as we need to install notification handlers
204204
test-suite hls-cabal-gild-plugin-tests
205205
import: defaults, pedantic, test-defaults, warnings
206-
if !flag(cabalgild) || !flag(cabal) || (impl(ghc > 9.11) && !flag(ignore-plugins-ghc-bounds))
206+
if !flag(cabalgild) || !flag(cabal)
207207
buildable: False
208208
type: exitcode-stdio-1.0
209209
hs-source-dirs: plugins/hls-cabal-gild-plugin/test
@@ -407,7 +407,7 @@ library hls-call-hierarchy-plugin
407407
, containers
408408
, extra
409409
, ghcide == 2.10.0.0
410-
, hiedb ^>= 0.6.0.0
410+
, hiedb ^>= 0.6.0.2
411411
, hls-plugin-api == 2.10.0.0
412412
, lens
413413
, lsp >=2.7
@@ -594,7 +594,7 @@ library hls-rename-plugin
594594
, containers
595595
, ghcide == 2.10.0.0
596596
, hashable
597-
, hiedb ^>= 0.6.0.0
597+
, hiedb ^>= 0.6.0.2
598598
, hie-compat
599599
, hls-plugin-api == 2.10.0.0
600600
, haskell-language-server:hls-refactor-plugin
@@ -1442,19 +1442,19 @@ flag fourmolu
14421442
manual: True
14431443

14441444
common fourmolu
1445-
if flag(fourmolu) && (impl(ghc < 9.11) || flag(ignore-plugins-ghc-bounds))
1445+
if flag(fourmolu)
14461446
build-depends: haskell-language-server:hls-fourmolu-plugin
14471447
cpp-options: -Dhls_fourmolu
14481448

14491449
library hls-fourmolu-plugin
14501450
import: defaults, pedantic, warnings
1451-
if !flag(fourmolu) || (impl(ghc > 9.11) && !flag(ignore-plugins-ghc-bounds))
1451+
if !flag(fourmolu)
14521452
buildable: False
14531453
exposed-modules: Ide.Plugin.Fourmolu
14541454
hs-source-dirs: plugins/hls-fourmolu-plugin/src
14551455
build-depends:
14561456
, filepath
1457-
, fourmolu ^>= 0.14 || ^>= 0.15 || ^>= 0.16
1457+
, fourmolu ^>= 0.14 || ^>= 0.15 || ^>= 0.16 || ^>=0.17 || ^>=0.18
14581458
, ghc-boot-th
14591459
, ghcide == 2.10.0.0
14601460
, hls-plugin-api == 2.10.0.0
@@ -1468,7 +1468,7 @@ library hls-fourmolu-plugin
14681468

14691469
test-suite hls-fourmolu-plugin-tests
14701470
import: defaults, pedantic, test-defaults, warnings
1471-
if !flag(fourmolu) || (impl(ghc > 9.11) && !flag(ignore-plugins-ghc-bounds))
1471+
if !flag(fourmolu)
14721472
buildable: False
14731473
type: exitcode-stdio-1.0
14741474
hs-source-dirs: plugins/hls-fourmolu-plugin/test
@@ -1496,13 +1496,13 @@ flag ormolu
14961496
manual: True
14971497

14981498
common ormolu
1499-
if flag(ormolu) && (impl(ghc < 9.11) || flag(ignore-plugins-ghc-bounds))
1499+
if flag(ormolu)
15001500
build-depends: haskell-language-server:hls-ormolu-plugin
15011501
cpp-options: -Dhls_ormolu
15021502

15031503
library hls-ormolu-plugin
15041504
import: defaults, pedantic, warnings
1505-
if !flag(ormolu) || (impl(ghc > 9.11) && !flag(ignore-plugins-ghc-bounds))
1505+
if !flag(ormolu)
15061506
buildable: False
15071507
exposed-modules: Ide.Plugin.Ormolu
15081508
hs-source-dirs: plugins/hls-ormolu-plugin/src
@@ -1515,14 +1515,14 @@ library hls-ormolu-plugin
15151515
, lsp
15161516
, mtl
15171517
, process-extras >= 0.7.1
1518-
, ormolu ^>=0.1.2 || ^>= 0.2 || ^>= 0.3 || ^>= 0.5 || ^>= 0.6 || ^>= 0.7
1518+
, ormolu ^>=0.5.3 || ^>= 0.6 || ^>= 0.7 || ^>=0.8
15191519
, text
15201520
, transformers
15211521

15221522

15231523
test-suite hls-ormolu-plugin-tests
15241524
import: defaults, pedantic, test-defaults, warnings
1525-
if !flag(ormolu) || (impl(ghc > 9.11) && !flag(ignore-plugins-ghc-bounds))
1525+
if !flag(ormolu)
15261526
buildable: False
15271527
type: exitcode-stdio-1.0
15281528
hs-source-dirs: plugins/hls-ormolu-plugin/test
@@ -1596,7 +1596,7 @@ flag refactor
15961596
manual: True
15971597

15981598
common refactor
1599-
if flag(refactor)
1599+
if flag(refactor)
16001600
build-depends: haskell-language-server:hls-refactor-plugin
16011601
cpp-options: -Dhls_refactor
16021602

@@ -2009,9 +2009,9 @@ test-suite func-test
20092009
-- formatters
20102010
if flag(floskell) && (impl(ghc < 9.10) || flag(ignore-plugins-ghc-bounds))
20112011
cpp-options: -Dhls_floskell
2012-
if flag(fourmolu) && (impl(ghc < 9.11) || flag(ignore-plugins-ghc-bounds))
2012+
if flag(fourmolu)
20132013
cpp-options: -Dhls_fourmolu
2014-
if flag(ormolu) && (impl(ghc < 9.11) || flag(ignore-plugins-ghc-bounds))
2014+
if flag(ormolu)
20152015
cpp-options: -Dhls_ormolu
20162016

20172017
test-suite wrapper-test
@@ -2172,9 +2172,14 @@ test-suite ghcide-tests
21722172
RecordWildCards
21732173
ViewPatterns
21742174

2175+
flag ghcide-bench
2176+
description: Build the ghcide-bench executable
2177+
default: True
21752178

21762179
executable ghcide-bench
21772180
import: defaults
2181+
if !flag(ghcide-bench)
2182+
buildable: False
21782183
build-depends:
21792184
aeson,
21802185
bytestring,

scripts/release/create-yaml-snippet.sh

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -34,26 +34,26 @@ cat <<EOF > /dev/stdout
3434
dlHash: $(sha256sum "haskell-language-server-$RELEASE-x86_64-linux-deb11.tar.xz" | awk '{ print $1 }')
3535
Linux_Ubuntu:
3636
'( >= 16 && < 19 )': &hls-${RELEASE//./}-64-ubuntu18
37-
dlUri: https://downloads.haskell.org/~hls/haskell-language-server-$RELEASE/haskell-language-server-$RELEASE-x86_64-linux-ubuntu18.04.tar.xz
37+
dlUri: https://downloads.haskell.org/~hls/haskell-language-server-$RELEASE/haskell-language-server-$RELEASE-x86_64-linux-ubuntu1804.tar.xz
3838
dlSubdir: haskell-language-server-$RELEASE
39-
dlHash: $(sha256sum "haskell-language-server-$RELEASE-x86_64-linux-ubuntu18.04.tar.xz" | awk '{ print $1 }')
39+
dlHash: $(sha256sum "haskell-language-server-$RELEASE-x86_64-linux-ubuntu1804.tar.xz" | awk '{ print $1 }')
4040
'( >= 20 && < 22 )': &hls-${RELEASE//./}-64-ubuntu20
41-
dlUri: https://downloads.haskell.org/~hls/haskell-language-server-$RELEASE/haskell-language-server-$RELEASE-x86_64-linux-ubuntu20.04.tar.xz
41+
dlUri: https://downloads.haskell.org/~hls/haskell-language-server-$RELEASE/haskell-language-server-$RELEASE-x86_64-linux-ubuntu2004.tar.xz
4242
dlSubdir: haskell-language-server-$RELEASE
43-
dlHash: $(sha256sum "haskell-language-server-$RELEASE-x86_64-linux-ubuntu20.04.tar.xz" | awk '{ print $1 }')
43+
dlHash: $(sha256sum "haskell-language-server-$RELEASE-x86_64-linux-ubuntu2004.tar.xz" | awk '{ print $1 }')
4444
unknown_versioning: &hls-${RELEASE//./}-64-ubuntu22
45-
dlUri: https://downloads.haskell.org/~hls/haskell-language-server-$RELEASE/haskell-language-server-$RELEASE-x86_64-linux-ubuntu22.04.tar.xz
45+
dlUri: https://downloads.haskell.org/~hls/haskell-language-server-$RELEASE/haskell-language-server-$RELEASE-x86_64-linux-ubuntu2204.tar.xz
4646
dlSubdir: haskell-language-server-$RELEASE
47-
dlHash: $(sha256sum "haskell-language-server-$RELEASE-x86_64-linux-ubuntu22.04.tar.xz" | awk '{ print $1 }')
47+
dlHash: $(sha256sum "haskell-language-server-$RELEASE-x86_64-linux-ubuntu2204.tar.xz" | awk '{ print $1 }')
4848
Linux_Mint:
4949
'< 20':
50-
dlUri: https://downloads.haskell.org/~hls/haskell-language-server-$RELEASE/haskell-language-server-$RELEASE-x86_64-linux-mint19.3.tar.xz
50+
dlUri: https://downloads.haskell.org/~hls/haskell-language-server-$RELEASE/haskell-language-server-$RELEASE-x86_64-linux-mint193.tar.xz
5151
dlSubdir: haskell-language-server-$RELEASE
52-
dlHash: $(sha256sum "haskell-language-server-$RELEASE-x86_64-linux-mint19.3.tar.xz" | awk '{ print $1 }')
52+
dlHash: $(sha256sum "haskell-language-server-$RELEASE-x86_64-linux-mint193.tar.xz" | awk '{ print $1 }')
5353
'(>= 20 && < 21)':
54-
dlUri: https://downloads.haskell.org/~hls/haskell-language-server-$RELEASE/haskell-language-server-$RELEASE-x86_64-linux-mint20.2.tar.xz
54+
dlUri: https://downloads.haskell.org/~hls/haskell-language-server-$RELEASE/haskell-language-server-$RELEASE-x86_64-linux-mint202.tar.xz
5555
dlSubdir: haskell-language-server-$RELEASE
56-
dlHash: $(sha256sum "haskell-language-server-$RELEASE-x86_64-linux-mint20.2.tar.xz" | awk '{ print $1 }')
56+
dlHash: $(sha256sum "haskell-language-server-$RELEASE-x86_64-linux-mint202.tar.xz" | awk '{ print $1 }')
5757
'>= 21': *hls-${RELEASE//./}-64-ubuntu22
5858
Linux_Fedora:
5959
'< 33': &hls-${RELEASE//./}-64-fedora27
@@ -95,9 +95,9 @@ cat <<EOF > /dev/stdout
9595
A_ARM64:
9696
Linux_UnknownLinux:
9797
unknown_versioning:
98-
dlUri: https://downloads.haskell.org/~hls/haskell-language-server-$RELEASE/haskell-language-server-$RELEASE-aarch64-linux-ubuntu20.tar.xz
98+
dlUri: https://downloads.haskell.org/~hls/haskell-language-server-$RELEASE/haskell-language-server-$RELEASE-aarch64-linux-ubuntu2004.tar.xz
9999
dlSubdir: haskell-language-server-$RELEASE
100-
dlHash: $(sha256sum "haskell-language-server-$RELEASE-aarch64-linux-ubuntu20.tar.xz" | awk '{ print $1 }')
100+
dlHash: $(sha256sum "haskell-language-server-$RELEASE-aarch64-linux-ubuntu2004.tar.xz" | awk '{ print $1 }')
101101
Darwin:
102102
unknown_versioning:
103103
dlUri: https://downloads.haskell.org/~hls/haskell-language-server-$RELEASE/haskell-language-server-$RELEASE-aarch64-apple-darwin.tar.xz

stack-lts22.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
resolver: lts-22.25 # ghc-9.6.5
1+
resolver: lts-22.43 # ghc-9.6.6
22

33
packages:
44
- .
@@ -19,7 +19,7 @@ allow-newer-deps:
1919
extra-deps:
2020
- Diff-0.5
2121
- floskell-0.11.1
22-
- hiedb-0.6.0.1
22+
- hiedb-0.6.0.2
2323
- hie-bios-0.14.0
2424
- implicit-hie-0.1.4.0
2525
- lsp-2.7.0.0

0 commit comments

Comments
 (0)