Skip to content

Commit 6a692de

Browse files
authored
Merge pull request #658 from jneira/ghcide-0.6
Prepare 0.7.0 release (includes ghcide bump to 0.6.0.1)
2 parents 60f811c + ac99654 commit 6a692de

27 files changed

+198
-141
lines changed

ChangeLog.md

+74
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,79 @@
11
# Changelog for haskell-language-server
22

3+
## 0.7.0
4+
5+
* This version contains mainly refactors and updates of upstream packages
6+
* It bumps up some formatter versions:
7+
* ormolu is 0.1.4.1
8+
* fourmolu is 0.3.0.0
9+
* brittany is 0.13.1.0
10+
* It uses last implicit-hie-cradle-0.3.0.2, with some [bug](https://github.com/Avi-D-coder/implicit-hie/issues/29) [fixes](https://github.com/Avi-D-coder/implicit-hie/issues/30)
11+
* It uses last ghcide-0.6.0.1 with [improvements and bug fixes](https://github.com/haskell/ghcide/blob/master/CHANGELOG.md#060-2020-12-06):
12+
* Do not enable every "unnecessary" warning by default
13+
* Improvements over completions:
14+
* record fields
15+
* identifiers not in explicit import lists
16+
* extend explicit import list automatically
17+
18+
Thanks to all haskell-language-server, ghcide and other upstream packages contributors (the list continue growing healthy) for make this release possible.
19+
20+
### Pull requests merged
21+
22+
- Miscellanous fixes: correct tactic plugin package metadata and cabal.hie.yaml/stack.hie.yaml
23+
([#672)](https://github.com/haskell/haskell-language-server/pull/672) by @berberman
24+
- Remove unnecessary pluginId setting and user Better Map functions in tactics plugin
25+
([#669)](https://github.com/haskell/haskell-language-server/pull/669) by @jhrcek
26+
- Do not suggest explicitly disabled pragmas
27+
([#666)](https://github.com/haskell/haskell-language-server/pull/666) by @berberman
28+
- fixed hie.yaml.stack
29+
([#664)](https://github.com/haskell/haskell-language-server/pull/664) by @tittoassini
30+
- Add pragmas completions
31+
([#662)](https://github.com/haskell/haskell-language-server/pull/662) by @gdevanla
32+
- Enable code completion tests
33+
([#657)](https://github.com/haskell/haskell-language-server/pull/657) by @peterwicksstringfield
34+
- Enable highlight unittests
35+
([#656)](https://github.com/haskell/haskell-language-server/pull/656) by @peterwicksstringfield
36+
- Fix document symbols unit tests.
37+
([#655)](https://github.com/haskell/haskell-language-server/pull/655) by @peterwicksstringfield
38+
- Delete duplicate cabal clause for applyrefact2
39+
([#654)](https://github.com/haskell/haskell-language-server/pull/654) by @peterwicksstringfield
40+
- Add extra-source-files for split plugins
41+
([#650)](https://github.com/haskell/haskell-language-server/pull/650) by @berberman
42+
- [nix-shell] Actually use gitignore
43+
([#649)](https://github.com/haskell/haskell-language-server/pull/649) by @pepeiborra
44+
- idempotent command and code cleanup
45+
([#648)](https://github.com/haskell/haskell-language-server/pull/648) by @tittoassini
46+
- Split the Imports and Retrie plugins
47+
([#647)](https://github.com/haskell/haskell-language-server/pull/647) by @pepeiborra
48+
- Simplify and Bump implicit-hie version constraints
49+
([#645)](https://github.com/haskell/haskell-language-server/pull/645) by @Avi-D-coder
50+
- Fix and enable disabled code action unit tests, fix fallback handler
51+
([#643)](https://github.com/haskell/haskell-language-server/pull/643) by @peterwicksstringfield
52+
- Add Ghcide hie.yaml instruction for Stack users
53+
([#641)](https://github.com/haskell/haskell-language-server/pull/641) by @Sir4ur0n
54+
- Upgrade the Nix build system
55+
([#639)](https://github.com/haskell/haskell-language-server/pull/639) by @pepeiborra
56+
- No longer needed to build once for Stack
57+
([#637)](https://github.com/haskell/haskell-language-server/pull/637) by @Sir4ur0n
58+
- Preserve the last empty comment line after eval plugin
59+
([#631)](https://github.com/haskell/haskell-language-server/pull/631) by @expipiplus1
60+
- Update fourmolu to 0.3.0.0
61+
([#624)](https://github.com/haskell/haskell-language-server/pull/624) by @gwils
62+
- Add hspec-discover to build-tool-depends in tactics plugin
63+
([#623)](https://github.com/haskell/haskell-language-server/pull/623) by @gwils
64+
- Add build to ghc-8.10.2 and windows
65+
([#619)](https://github.com/haskell/haskell-language-server/pull/619) by @jneira
66+
- Module Name Plugin: Treat modules starting with lowercase as Main module
67+
([#616)](https://github.com/haskell/haskell-language-server/pull/616) by @konn
68+
- Bump ormolu to 0.1.4.1
69+
([#614)](https://github.com/haskell/haskell-language-server/pull/614) by @AlistairB
70+
- Fix fourmolu plugin inconsistent formatting
71+
([#599)](https://github.com/haskell/haskell-language-server/pull/599) by @zweimach
72+
- Hlint: bring over idea2Message for formatting
73+
([#598)](https://github.com/haskell/haskell-language-server/pull/598) by @alanz
74+
- Makes dictionary argument exclusion logic in Tactic plugin more robust
75+
([#508)](https://github.com/haskell/haskell-language-server/pull/508) by @konn
76+
377
## 0.6.0
478

579
0.6.0 includes two brand new plugins!

cabal.project

+1-6
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,6 @@ packages:
88
./plugins/hls-explicit-imports-plugin
99
./plugins/hls-retrie-plugin
1010

11-
source-repository-package
12-
type: git
13-
location: https://github.com/bubba/brittany.git
14-
tag: c59655f10d5ad295c2481537fc8abf0a297d9d1c
15-
1611
tests: true
1712

1813
package *
@@ -25,6 +20,6 @@ package ghcide
2520

2621
write-ghc-environment-files: never
2722

28-
index-state: 2020-12-03T03:58:05Z
23+
index-state: 2020-12-13T11:31:58Z
2924

3025
allow-newer: data-tree-print:base

exe/Wrapper.hs

+3-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ import Control.Monad.Extra
77
import Data.Foldable
88
import Data.List
99
import Data.Void
10-
import HIE.Bios
10+
import Development.IDE.Session (findCradle, defaultLoadingOptions)
11+
import HIE.Bios hiding (findCradle)
1112
import HIE.Bios.Environment
1213
import HIE.Bios.Types
1314
import Ide.Arguments
@@ -135,7 +136,7 @@ getRuntimeGhcVersion' cradle = do
135136
-- of the project that may or may not be accurate.
136137
findLocalCradle :: FilePath -> IO (Cradle Void)
137138
findLocalCradle fp = do
138-
cradleConf <- findCradle fp
139+
cradleConf <- (findCradle defaultLoadingOptions) fp
139140
crdl <- case cradleConf of
140141
Just yaml -> do
141142
hPutStrLn stderr $ "Found \"" ++ yaml ++ "\" for \"" ++ fp ++ "\""

ghcide

Submodule ghcide updated 71 files

haskell-language-server.cabal

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
cabal-version: 2.2
22
category: Development
33
name: haskell-language-server
4-
version: 0.6.0.0
4+
version: 0.7.0.0
55
synopsis: LSP server for GHC
66
description:
77
Please see the README on GitHub at <https://github.com/haskell/haskell-language-server#readme>
@@ -59,10 +59,9 @@ library
5959
, containers
6060
, data-default
6161
, ghc
62-
, ghcide >=0.5
62+
, ghcide >=0.6.0.1
6363
, gitrev
6464
, haskell-lsp ^>=0.22
65-
, hie-bios >=0.6.1 && <0.8
6665
, hls-plugin-api >=0.5
6766
, hslogger
6867
, optparse-applicative
@@ -144,7 +143,7 @@ executable haskell-language-server
144143
, unordered-containers
145144

146145
if flag(agpl)
147-
build-depends: brittany
146+
build-depends: brittany >= 0.13.1.0
148147
other-modules: Ide.Plugin.Brittany
149148

150149
include-dirs: include
@@ -170,6 +169,7 @@ executable haskell-language-server-wrapper
170169
build-depends:
171170
, ghc
172171
, ghc-paths
172+
, ghcide
173173
, gitrev
174174
, haskell-language-server
175175
, hie-bios

hls-plugin-api/hls-plugin-api.cabal

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cabal-version: 2.2
22
name: hls-plugin-api
3-
version: 0.5.0.0
3+
version: 0.5.0.1
44
synopsis: Haskell Language Server API for plugin communication
55
description:
66
Please see the README on GitHub at <https://github.com/haskell/haskell-language-server#readme>

nix/default.nix

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ let
1717
haskellPackages.extend (pkgs.haskell.lib.packageSourceOverrides {
1818
haskell-language-server = gitignoreSource ../.;
1919
ghcide = gitignoreSource ../ghcide;
20+
shake-bench = gitignoreSource ../ghcide/shake-bench;
2021
hie-compat = gitignoreSource ../ghcide/hie-compat;
2122
hls-plugin-api = gitignoreSource ../hls-plugin-api;
2223
hls-tactics-plugin = gitignoreSource ../plugins/tactics;

shell.nix

+1
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ let defaultCompiler = "ghc" + lib.replaceStrings ["."] [""] haskellPackages.ghc.
2626

2727
packages = p: [ p.haskell-language-server
2828
p.ghcide
29+
p.shake-bench
2930
p.hie-compat
3031
p.hls-plugin-api
3132
p.hls-tactics-plugin

src/Ide/Main.hs

+3-4
Original file line numberDiff line numberDiff line change
@@ -34,19 +34,18 @@ import Development.IDE.Core.Shake
3434
import Development.IDE.LSP.LanguageServer
3535
import Development.IDE.LSP.Protocol
3636
import Development.IDE.Plugin
37-
import Development.IDE.Session
37+
import Development.IDE.Session (loadSession, findCradle, defaultLoadingOptions)
3838
import Development.IDE.Types.Diagnostics
3939
import Development.IDE.Types.Location
4040
import Development.IDE.Types.Logger
4141
import Development.IDE.Types.Options
42-
import HIE.Bios.Cradle
4342
import qualified Language.Haskell.LSP.Core as LSP
4443
import Ide.Arguments
4544
import Ide.Logger
4645
import Ide.Plugin
4746
import Ide.Version
4847
import Ide.Plugin.Config
49-
import Ide.Types (IdePlugins, ipMap)
48+
import Ide.Types (IdePlugins, ipMap)
5049
import Language.Haskell.LSP.Messages
5150
import Language.Haskell.LSP.Types
5251
import qualified System.Directory.Extra as IO
@@ -158,7 +157,7 @@ runLspMode lspArgs@LspArguments{..} idePlugins = do
158157
putStrLn $ "Found " ++ show (length files) ++ " files"
159158

160159
putStrLn "\nStep 2/4: Looking for hie.yaml files that control setup"
161-
cradles <- mapM findCradle files
160+
cradles <- mapM (findCradle defaultLoadingOptions) files
162161
let ucradles = nubOrd cradles
163162
let n = length ucradles
164163
putStrLn $ "Found " ++ show n ++ " cradle" ++ ['s' | n /= 1]

stack-8.10.1.yaml

+6-8
Original file line numberDiff line numberDiff line change
@@ -14,23 +14,24 @@ ghc-options:
1414
"$everything": -haddock
1515

1616
extra-deps:
17-
- github: bubba/brittany
18-
commit: c59655f10d5ad295c2481537fc8abf0a297d9d1c
17+
- brittany-0.13.1.0
1918
- Cabal-3.0.2.0
2019
- clock-0.7.2
21-
- data-tree-print-0.1.0.2
20+
- data-tree-print-0.1.0.2@rev:2
2221
- floskell-0.10.4
2322
- fourmolu-0.3.0.0
2423
- ghc-lib-8.10.2.20200916
2524
- ghc-lib-parser-8.10.2.20200916
25+
- heapsize-0.3.0
2626
- hie-bios-0.7.1
27-
- hlint-3.2
27+
- hlint-3.2.3
2828
- HsYAML-aeson-0.2.0.0@rev:2
2929
- implicit-hie-cradle-0.3.0.2
3030
- implicit-hie-0.1.2.5
3131
- lsp-test-0.11.0.6
3232
- monad-dijkstra-0.1.1.2
33-
- opentelemetry-0.4.2
33+
- opentelemetry-0.6.1
34+
- opentelemetry-extra-0.6.1
3435
- ormolu-0.1.4.1
3536
- refinery-0.3.0.0
3637
- retrie-0.1.1.1
@@ -44,9 +45,6 @@ flags:
4445
retrie:
4546
BuildExecutable: false
4647

47-
# for data-tree-print's bounds on base (>=4.8 && <4.14); using base-4.14.0.0.
48-
allow-newer: true
49-
5048
nix:
5149
packages: [ icu libcxx zlib ]
5250

stack-8.10.2.yaml

+4-8
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
resolver: nightly-2020-11-22
1+
resolver: nightly-2020-12-09
22

33
packages:
44
- .
@@ -14,18 +14,17 @@ ghc-options:
1414
"$everything": -haddock
1515

1616
extra-deps:
17-
- github: bubba/brittany
18-
commit: c59655f10d5ad295c2481537fc8abf0a297d9d1c
17+
- brittany-0.13.1.0
1918
- Cabal-3.0.2.0
2019
- clock-0.7.2
21-
- data-tree-print-0.1.0.2
20+
- data-tree-print-0.1.0.2@rev:2
2221
- floskell-0.10.4
2322
- fourmolu-0.3.0.0
23+
- heapsize-0.3.0
2424
- implicit-hie-cradle-0.3.0.2
2525
- implicit-hie-0.1.2.5
2626
- lsp-test-0.11.0.6
2727
- monad-dijkstra-0.1.1.2
28-
- opentelemetry-0.4.2
2928
- refinery-0.3.0.0
3029
- retrie-0.1.1.1
3130
- stylish-haskell-0.12.2.0
@@ -38,9 +37,6 @@ flags:
3837
retrie:
3938
BuildExecutable: false
4039

41-
# for data-tree-print's bounds on base (>=4.8 && <4.14); using base-4.14.0.0.
42-
allow-newer: true
43-
4440
nix:
4541
packages: [ icu libcxx zlib ]
4642

stack-8.6.4.yaml

+8-4
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,7 @@ extra-deps:
1919
- apply-refact-0.8.2.1
2020
- ansi-terminal-0.10.3
2121
- base-compat-0.10.5
22-
- github: bubba/brittany
23-
commit: c59655f10d5ad295c2481537fc8abf0a297d9d1c
22+
- brittany-0.13.1.0
2423
- butcher-1.3.3.1
2524
- Cabal-3.0.2.0
2625
- cabal-plan-0.6.2.0
@@ -32,17 +31,21 @@ extra-deps:
3231
- fuzzy-0.1.0.0
3332
# - ghcide-0.1.0
3433
- ghc-check-0.5.0.1
34+
- ghc-events-0.13.0
3535
- ghc-exactprint-0.6.3.2
3636
- ghc-lib-8.10.2.20200916
3737
- ghc-lib-parser-8.10.2.20200916
3838
- ghc-lib-parser-ex-8.10.0.16
3939
- ghc-source-gen-0.4.0.0
40+
- ghc-trace-events-0.1.2.1
4041
- haddock-api-2.22.0@rev:1
4142
- haddock-library-1.8.0
43+
- hashable-1.3.0.0
4244
- haskell-lsp-0.22.0.0
4345
- haskell-lsp-types-0.22.0.0
46+
- heapsize-0.3.0
4447
- hie-bios-0.7.1
45-
- hlint-3.2
48+
- hlint-3.2.3
4649
- HsYAML-0.2.1.0@rev:1
4750
- HsYAML-aeson-0.2.0.0@rev:2
4851
- implicit-hie-cradle-0.3.0.2
@@ -51,7 +54,8 @@ extra-deps:
5154
- lens-4.18
5255
- lsp-test-0.11.0.6
5356
- monad-dijkstra-0.1.1.2
54-
- opentelemetry-0.4.2
57+
- opentelemetry-0.6.1
58+
- opentelemetry-extra-0.6.1
5559
- optics-core-0.2
5660
- optparse-applicative-0.15.1.0
5761
- ormolu-0.1.4.1

stack-8.6.5.yaml

+8-4
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,7 @@ extra-deps:
1818
- apply-refact-0.8.2.1
1919
- ansi-terminal-0.10.3
2020
- base-compat-0.10.5
21-
- github: bubba/brittany
22-
commit: c59655f10d5ad295c2481537fc8abf0a297d9d1c
21+
- brittany-0.13.1.0
2322
- butcher-1.3.3.1
2423
- Cabal-3.0.2.0
2524
- cabal-plan-0.6.2.0
@@ -31,17 +30,21 @@ extra-deps:
3130
- fuzzy-0.1.0.0
3231
# - ghcide-0.1.0
3332
- ghc-check-0.5.0.1
33+
- ghc-events-0.13.0
3434
- ghc-exactprint-0.6.3.2
3535
- ghc-lib-8.10.2.20200916
3636
- ghc-lib-parser-8.10.2.20200916
3737
- ghc-lib-parser-ex-8.10.0.16
3838
- ghc-source-gen-0.4.0.0
39+
- ghc-trace-events-0.1.2.1
3940
- haddock-api-2.22.0@rev:1
4041
- haddock-library-1.8.0
42+
- hashable-1.3.0.0
4143
- haskell-lsp-0.22.0.0
4244
- haskell-lsp-types-0.22.0.0
45+
- heapsize-0.3.0
4346
- hie-bios-0.7.1
44-
- hlint-3.2
47+
- hlint-3.2.3
4548
- HsYAML-0.2.1.0@rev:1
4649
- HsYAML-aeson-0.2.0.0@rev:2
4750
- implicit-hie-cradle-0.3.0.2
@@ -50,7 +53,8 @@ extra-deps:
5053
- lens-4.18
5154
- lsp-test-0.11.0.6
5255
- monad-dijkstra-0.1.1.2
53-
- opentelemetry-0.4.2
56+
- opentelemetry-0.6.1
57+
- opentelemetry-extra-0.6.1
5458
- optics-core-0.2
5559
- optparse-applicative-0.15.1.0
5660
- ormolu-0.1.4.1

0 commit comments

Comments
 (0)