Skip to content

Commit c978069

Browse files
authored
Merge branch 'master' into fix-blahblah
2 parents 911d10f + f0bbc39 commit c978069

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+843
-287
lines changed

Diff for: .circleci/config.yml

+6
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,11 @@ jobs:
105105
- STACK_FILE: "stack-9.0.2.yaml"
106106
<<: *defaults
107107

108+
ghc-9.2.1:
109+
environment:
110+
- STACK_FILE: "stack-9.2.1.yaml"
111+
<<: *defaults
112+
108113
ghc-default:
109114
environment:
110115
- STACK_FILE: "stack.yaml"
@@ -121,4 +126,5 @@ workflows:
121126
- ghc-8.10.7
122127
- ghc-9.0.1
123128
- ghc-9.0.2
129+
- ghc-9.2.1
124130
- ghc-default

Diff for: .github/actions/setup-build/action.yml

+10-2
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,19 @@ runs:
5454
fi
5555
shell: bash
5656

57+
# some alpines come with integer-simple instead of integer-gmp
58+
- if: inputs.os == 'Linux'
59+
name: Force integer-simple
60+
run: |
61+
if ghc --info | grep -q integer-simple ; then
62+
echo -e 'package blaze-textual\n flags: +integer-simple' >> cabal.project.local
63+
fi
64+
shell: bash
65+
5766
- if: inputs.os == 'Windows' && inputs.ghc == '8.8.4'
5867
name: (Windows,GHC 8.8) Modify `cabal.project` to workaround segfaults
5968
run: |
60-
echo "package floskell" >> cabal.project
61-
echo " ghc-options: -O0" >> cabal.project
69+
echo -e 'package floskell\n ghc-options: -O0' >> cabal.project.local
6270
shell: bash
6371

6472
# Shorten binary names as a workaround for filepath length limits in Windows,

Diff for: .github/workflows/build.yml

+9-41
Original file line numberDiff line numberDiff line change
@@ -41,40 +41,15 @@ jobs:
4141
apk add --no-cache zlib zlib-dev zlib-static gmp gmp-dev ncurses-static
4242
- uses: actions/checkout@v2
4343

44-
- uses: haskell/actions/setup@v1
45-
with:
46-
ghc-version : ${{ matrix.ghc }}
47-
cabal-version: ${{ matrix.cabal }}
48-
enable-stack: false
49-
50-
# some alpines come with integer-simple instead of integer-gmp
51-
- name: Force integer-simple
52-
if: matrix.os == 'ubuntu-18.04'
53-
run: |
54-
if ghc --info | grep -q integer-simple ; then
55-
echo -e 'package blaze-textual\n flags: +integer-simple' >> cabal.project.local
56-
fi
57-
58-
- name: Use modified cabal.project
59-
env:
60-
GHCVER: ${{ matrix.ghc }}
44+
- name: Disable tests and bechmarks
6145
run: |
62-
GHCVER2=${GHCVER//./}
63-
ALT_PROJECT_FILE_MINOR=cabal-ghc${GHCVER2}.project
64-
ALT_PROJECT_FILE_MAJOR=cabal-ghc${GHCVER2:0:2}.project
65-
if [[ -f "$ALT_PROJECT_FILE_MINOR" ]]; then
66-
rm -f -v cabal.project && cp -v "$ALT_PROJECT_FILE_MINOR" cabal.project
67-
elif [[ -f "$ALT_PROJECT_FILE_MAJOR" ]]; then
68-
rm -f -v cabal.project && cp -v "$ALT_PROJECT_FILE_MAJOR" cabal.project
69-
fi
46+
echo -e 'tests: false' >> cabal.project.local
47+
echo -e 'benchmarks: false' >> cabal.project.local
7048
71-
- name: Shorten binary names
72-
run: |
73-
sed -i.bak -e 's/haskell-language-server/hls/g' \
74-
-e 's/haskell_language_server/hls/g' \
75-
haskell-language-server.cabal cabal.project
76-
sed -i.bak -e 's/Paths_haskell_language_server/Paths_hls/g' \
77-
src/**/*.hs exe/*.hs
49+
- uses: ./.github/actions/setup-build
50+
with:
51+
ghc: ${{ matrix.ghc }}
52+
os: ${{ runner.os }}
7853

7954
- name: (Windows) Platform specifics
8055
if: matrix.os == 'windows-latest'
@@ -99,17 +74,10 @@ jobs:
9974
run: |
10075
echo "GHC_VERSION=$GHC_VER" >> $GITHUB_ENV
10176
102-
- name: (Windows, GHC 8.8.4) Workaround segfaults
103-
if: matrix.ghc == '8.8.4' && matrix.os == 'windows-latest'
104-
run: |
105-
echo "package floskell" >> cabal.project
106-
echo " ghc-options: -O0" >> cabal.project
107-
10877
- name: Build the server
10978
# Try building it twice in case of flakey builds on Windows
11079
run: |
111-
cabal build --disable-tests exe:hls -O2 $LINUX_CABAL_ARGS || \
112-
cabal build --disable-tests exe:hls -O2 $LINUX_CABAL_ARGS -j1
80+
cabal build exe:hls -O2 $LINUX_CABAL_ARGS || cabal build exe:hls -O2 $LINUX_CABAL_ARGS -j1
11381
11482
- name: Compress server binary
11583
id: compress_server_binary
@@ -148,7 +116,7 @@ jobs:
148116

149117
- name: (GHC 8.10) Build the wrapper
150118
if: matrix.ghc == '8.10.7'
151-
run: cabal build --disable-tests exe:hls-wrapper -O2 $LINUX_CABAL_ARGS
119+
run: cabal build exe:hls-wrapper -O2 $LINUX_CABAL_ARGS
152120

153121
- name: (GHC 8.10) Compress wrapper binary
154122
if: matrix.ghc == '8.10.7'

Diff for: .github/workflows/flags.yml

+14-10
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,11 @@ jobs:
4343
strategy:
4444
fail-fast: true
4545
matrix:
46-
ghc: [ "8.10.7"
46+
ghc: [ "9.2.1"
47+
, "9.0.2"
48+
, "8.10.7"
49+
, "8.8.4"
50+
, "8.6.5"
4751
]
4852
os: [ "ubuntu-latest"
4953
]
@@ -57,20 +61,20 @@ jobs:
5761
os: ${{ runner.os }}
5862

5963
- name: Build `hls-graph` with flags
60-
run: cabal v2-build hls-graph --flags="pedantic embed-files stm-stats"
64+
run: cabal v2-build hls-graph --flags="embed-files stm-stats"
6165

62-
- name: Build `hie-compat` with flags
66+
- if: matrix.ghc != '8.6.5' && matrix.ghc != '8.8.4'
67+
name: Build `hie-compat` with flags
6368
run: cabal v2-build hie-compat --flags="ghc-lib"
6469

65-
- name: Build `hls-plugin-api` with flags
66-
run: cabal v2-build hls-plugin-api --flags="pedantic"
67-
68-
- name: Build `hls-test-utils` with flags
69-
run: cabal v2-build hls-test-utils --flags="pedantic"
70-
71-
- name: Build
70+
- name: Build `ghcide` with flags
7271
run: cabal v2-build ghcide --flags="ghc-patched-unboxed-bytecode test-exe executable bench-exe"
7372

73+
# we have to clean up warnings for 9.0 and 9.2 before enable -WAll
74+
- if: matrix.ghc != '9.0.2' && matrix.ghc != '9.2.1'
75+
name: Build with pedantic (-WError)
76+
run: cabal v2-build --flags="pedantic"
77+
7478
flags_post_job:
7579
if: always()
7680
runs-on: ubuntu-latest

Diff for: .github/workflows/test.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -194,11 +194,11 @@ jobs:
194194
name: Test hls-fourmolu-plugin
195195
run: cabal test hls-fourmolu-plugin --test-options="$TEST_OPTS" || cabal test hls-fourmolu-plugin --test-options="$TEST_OPTS" || LSP_TEST_LOG_COLOR=0 LSP_TEST_LOG_MESSAGES=true LSP_TEST_LOG_STDERR=true cabal test hls-fourmolu-plugin --test-options="$TEST_OPTS"
196196

197-
- if: matrix.test && matrix.ghc != '9.0.1' && matrix.ghc != '9.0.2' && matrix.ghc != '9.2.1' && !(matrix.os == 'ubuntu-latest' && matrix.ghc == '8.6.5')
197+
- if: matrix.test && matrix.ghc != '9.2.1'
198198
name: Test hls-tactics-plugin test suite
199199
run: cabal test hls-tactics-plugin --test-options="$TEST_OPTS" || cabal test hls-tactics-plugin --test-options="$TEST_OPTS" || LSP_TEST_LOG_COLOR=0 LSP_TEST_LOG_MESSAGES=true LSP_TEST_LOG_STDERR=true cabal test hls-tactics-plugin --test-options="$TEST_OPTS"
200200

201-
- if: matrix.test && matrix.ghc != '9.2.1'
201+
- if: matrix.test
202202
name: Test hls-refine-imports-plugin test suite
203203
run: cabal test hls-refine-imports-plugin --test-options="$TEST_OPTS" || cabal test hls-refine-imports-plugin --test-options="$TEST_OPTS" || LSP_TEST_LOG_COLOR=0 LSP_TEST_LOG_MESSAGES=true LSP_TEST_LOG_STDERR=true cabal test hls-refine-imports-plugin --test-options="$TEST_OPTS"
204204

Diff for: cabal-ghc90.project

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ index-state: 2022-01-11T22:05:45Z
4040
constraints:
4141
-- These plugins don't work on GHC9 yet
4242
-- Add a plugin needs remove the -flag but also update ghc bounds in hls.cabal
43-
haskell-language-server +ignore-plugins-ghc-bounds -stylishhaskell -tactic,
43+
haskell-language-server +ignore-plugins-ghc-bounds -stylishhaskell,
4444
ghc-lib-parser ^>= 9.0
4545

4646
-- although we are not building all plugins cabal solver phase is run for all packages

Diff for: cabal-ghc921.project

-20
Original file line numberDiff line numberDiff line change
@@ -27,16 +27,6 @@ packages:
2727
./plugins/hls-call-hierarchy-plugin
2828
./plugins/hls-alternate-number-format-plugin
2929

30-
repository head.hackage.ghc.haskell.org
31-
url: https://ghc.gitlab.haskell.org/head.hackage/
32-
secure: True
33-
key-threshold: 3
34-
root-keys:
35-
f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89
36-
26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329
37-
7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d
38-
39-
4030
with-compiler: ghc-9.2.1
4131

4232
tests: true
@@ -59,22 +49,12 @@ constraints:
5949
-eval
6050
-haddockComments
6151
-hlint
62-
-refineImports
6352
-retrie
6453
-splice
6554
-stylishhaskell
6655
-tactic,
67-
ghc-lib-parser ^>= 9.2,
68-
attoparsec ^>= 0.14.3,
69-
ghc-exactprint >= 1.3,
70-
retrie >= 1.2,
71-
direct-sqlite == 2.3.26,
72-
lens >= 5.0.1,
73-
primitive-unlifted ==0.1.3.1
7456

7557
allow-newer:
76-
-- base,
77-
7858
-- for shake-bench
7959
Chart:lens,
8060
Chart-diagrams:lens,

Diff for: configuration-ghc-901.nix

-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33

44
let
55
disabledPlugins = [
6-
"hls-tactics-plugin"
76
"hls-brittany-plugin"
87
"hls-stylish-haskell-plugin"
98
];
@@ -20,7 +19,6 @@ let
2019
(pkgs.lib.concatStringsSep " " [
2120
"-f-brittany"
2221
"-f-stylishhaskell"
23-
"-f-tactic"
2422
]) { };
2523

2624
# YOLO

Diff for: docs/_static/theme_overrides.css

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
/* Fix table wrapping https://github.com/readthedocs/sphinx_rtd_theme/issues/117 */
2+
@media screen and (min-width: 768px) {
3+
.wy-table-responsive table td, .wy-table-responsive table th {
4+
white-space: normal !important;
5+
}
6+
}

Diff for: docs/conf.py

+6-1
Original file line numberDiff line numberDiff line change
@@ -86,4 +86,9 @@
8686

8787
# Enable linking to an anchor of a relative page
8888
# See https://github.com/executablebooks/MyST-Parser/issues/443
89-
myst_heading_anchors = 2
89+
myst_heading_anchors = 3
90+
91+
# -- Custom Document processing ----------------------------------------------
92+
93+
def setup(app):
94+
app.add_css_file("theme_overrides.css")

0 commit comments

Comments
 (0)