Skip to content

Prepare 0.7.0 release (includes bump ghcide to 0.6.0.1) #658

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 25 commits into from
Dec 15, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
8416433
Bump ghcide to incoming 0.6
jneira Dec 9, 2020
f70d5ba
Update hackage index to 2020-12-09T06:57:58Z
jneira Dec 9, 2020
4696e0e
Bump up ghcide lower bound to 0.6
jneira Dec 9, 2020
00db351
Update stack config to use ghcide-0.6
jneira Dec 9, 2020
9caea6f
Use definitive ghcide-0.6
jneira Dec 9, 2020
3c7143d
Leverage new ghcide loading options
jneira Dec 9, 2020
16e8e89
Add shake-bench component to nix build
jneira Dec 9, 2020
ea14692
Use brittany version compat with ghc-8.10
jneira Dec 9, 2020
4457ef5
Use ghcide version fixed for ghc-8.x
jneira Dec 11, 2020
1a6bb07
Ensure that loading testfiles produces at least one diagnostic.
peterwicksstringfield Dec 12, 2020
c807d44
Update completion tests to reflect the renewed support for snippets i…
peterwicksstringfield Dec 12, 2020
7fad57c
Enable disabled tests for the code completion snippets.
peterwicksstringfield Dec 12, 2020
20cef9e
Disable test for completionSnippetsOn option, ghcide does not support…
peterwicksstringfield Dec 12, 2020
56629b1
Fix test for code completion of qualified name.
peterwicksstringfield Dec 12, 2020
3e6378a
Ensure that the testfiles produce at least one diagnostic.
peterwicksstringfield Dec 13, 2020
4d52537
Use brittany last released version
jneira Dec 12, 2020
10fb877
Use ghcide-0.6.0.1
jneira Dec 13, 2020
0e250a4
Add apply-refact to stack-8.8.2.yaml
jneira Dec 13, 2020
7135541
Replacing waitForDiagnostics with sleep
jneira Dec 13, 2020
be6db04
Adapt brittany golden test
jneira Dec 13, 2020
94f8095
Adapt floskell golden test
jneira Dec 14, 2020
cd17a0a
Adapt brittany+floskell golden test
jneira Dec 14, 2020
4766074
Ensure ghcide-0.6.0.1 in cabal config
jneira Dec 14, 2020
4a58f1f
Update ChangeLog with 0.7 changes
jneira Dec 14, 2020
ac99654
Bump package versions
jneira Dec 14, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 74 additions & 0 deletions ChangeLog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,79 @@
# Changelog for haskell-language-server

## 0.7.0

* This version contains mainly refactors and updates of upstream packages
* It bumps up some formatter versions:
* ormolu is 0.1.4.1
* fourmolu is 0.3.0.0
* brittany is 0.13.1.0
* 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)
* 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):
* Do not enable every "unnecessary" warning by default
* Improvements over completions:
* record fields
* identifiers not in explicit import lists
* extend explicit import list automatically

Thanks to all haskell-language-server, ghcide and other upstream packages contributors (the list continue growing healthy) for make this release possible.

### Pull requests merged

- Miscellanous fixes: correct tactic plugin package metadata and cabal.hie.yaml/stack.hie.yaml
([#672)](https://github.com/haskell/haskell-language-server/pull/672) by @berberman
- Remove unnecessary pluginId setting and user Better Map functions in tactics plugin
([#669)](https://github.com/haskell/haskell-language-server/pull/669) by @jhrcek
- Do not suggest explicitly disabled pragmas
([#666)](https://github.com/haskell/haskell-language-server/pull/666) by @berberman
- fixed hie.yaml.stack
([#664)](https://github.com/haskell/haskell-language-server/pull/664) by @tittoassini
- Add pragmas completions
([#662)](https://github.com/haskell/haskell-language-server/pull/662) by @gdevanla
- Enable code completion tests
([#657)](https://github.com/haskell/haskell-language-server/pull/657) by @peterwicksstringfield
- Enable highlight unittests
([#656)](https://github.com/haskell/haskell-language-server/pull/656) by @peterwicksstringfield
- Fix document symbols unit tests.
([#655)](https://github.com/haskell/haskell-language-server/pull/655) by @peterwicksstringfield
- Delete duplicate cabal clause for applyrefact2
([#654)](https://github.com/haskell/haskell-language-server/pull/654) by @peterwicksstringfield
- Add extra-source-files for split plugins
([#650)](https://github.com/haskell/haskell-language-server/pull/650) by @berberman
- [nix-shell] Actually use gitignore
([#649)](https://github.com/haskell/haskell-language-server/pull/649) by @pepeiborra
- idempotent command and code cleanup
([#648)](https://github.com/haskell/haskell-language-server/pull/648) by @tittoassini
- Split the Imports and Retrie plugins
([#647)](https://github.com/haskell/haskell-language-server/pull/647) by @pepeiborra
- Simplify and Bump implicit-hie version constraints
([#645)](https://github.com/haskell/haskell-language-server/pull/645) by @Avi-D-coder
- Fix and enable disabled code action unit tests, fix fallback handler
([#643)](https://github.com/haskell/haskell-language-server/pull/643) by @peterwicksstringfield
- Add Ghcide hie.yaml instruction for Stack users
([#641)](https://github.com/haskell/haskell-language-server/pull/641) by @Sir4ur0n
- Upgrade the Nix build system
([#639)](https://github.com/haskell/haskell-language-server/pull/639) by @pepeiborra
- No longer needed to build once for Stack
([#637)](https://github.com/haskell/haskell-language-server/pull/637) by @Sir4ur0n
- Preserve the last empty comment line after eval plugin
([#631)](https://github.com/haskell/haskell-language-server/pull/631) by @expipiplus1
- Update fourmolu to 0.3.0.0
([#624)](https://github.com/haskell/haskell-language-server/pull/624) by @gwils
- Add hspec-discover to build-tool-depends in tactics plugin
([#623)](https://github.com/haskell/haskell-language-server/pull/623) by @gwils
- Add build to ghc-8.10.2 and windows
([#619)](https://github.com/haskell/haskell-language-server/pull/619) by @jneira
- Module Name Plugin: Treat modules starting with lowercase as Main module
([#616)](https://github.com/haskell/haskell-language-server/pull/616) by @konn
- Bump ormolu to 0.1.4.1
([#614)](https://github.com/haskell/haskell-language-server/pull/614) by @AlistairB
- Fix fourmolu plugin inconsistent formatting
([#599)](https://github.com/haskell/haskell-language-server/pull/599) by @zweimach
- Hlint: bring over idea2Message for formatting
([#598)](https://github.com/haskell/haskell-language-server/pull/598) by @alanz
- Makes dictionary argument exclusion logic in Tactic plugin more robust
([#508)](https://github.com/haskell/haskell-language-server/pull/508) by @konn

## 0.6.0

0.6.0 includes two brand new plugins!
Expand Down
7 changes: 1 addition & 6 deletions cabal.project
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,6 @@ packages:
./plugins/hls-explicit-imports-plugin
./plugins/hls-retrie-plugin

source-repository-package
type: git
location: https://github.com/bubba/brittany.git
tag: c59655f10d5ad295c2481537fc8abf0a297d9d1c

tests: true

package *
Expand All @@ -25,6 +20,6 @@ package ghcide

write-ghc-environment-files: never

index-state: 2020-12-03T03:58:05Z
index-state: 2020-12-13T11:31:58Z

allow-newer: data-tree-print:base
5 changes: 3 additions & 2 deletions exe/Wrapper.hs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ import Control.Monad.Extra
import Data.Foldable
import Data.List
import Data.Void
import HIE.Bios
import Development.IDE.Session (findCradle, defaultLoadingOptions)
import HIE.Bios hiding (findCradle)
import HIE.Bios.Environment
import HIE.Bios.Types
import Ide.Arguments
Expand Down Expand Up @@ -135,7 +136,7 @@ getRuntimeGhcVersion' cradle = do
-- of the project that may or may not be accurate.
findLocalCradle :: FilePath -> IO (Cradle Void)
findLocalCradle fp = do
cradleConf <- findCradle fp
cradleConf <- (findCradle defaultLoadingOptions) fp
crdl <- case cradleConf of
Just yaml -> do
hPutStrLn stderr $ "Found \"" ++ yaml ++ "\" for \"" ++ fp ++ "\""
Expand Down
2 changes: 1 addition & 1 deletion ghcide
Submodule ghcide updated 71 files
+5 −20 .azure/linux-stack.yml
+0 −58 .azure/windows-stack.yml
+7 −11 .github/workflows/bench.yml
+23 −0 .github/workflows/nix.yml
+95 −0 .github/workflows/test.yml
+0 −1 .hlint.yaml
+19 −1 CHANGELOG.md
+19 −26 README.md
+0 −1 azure-pipelines.yml
+2 −3 bench/config.yaml
+65 −446 bench/hist/Main.hs
+12 −8 bench/lib/Experiments.hs
+3 −1 bench/lib/Experiments/Types.hs
+1 −6 cabal.project
+2 −2 docs/Setup.md
+66 −0 docs/opentelemetry.md
+2 −0 exe/Arguments.hs
+43 −14 exe/Main.hs
+0 −4 extension/.gitignore
+0 −10 extension/.vscodeignore
+0 −1 extension/README.md
+0 −750 extension/package-lock.json
+0 −72 extension/package.json
+0 −45 extension/src/extension.ts
+0 −21 extension/tsconfig.json
+0 −15 extension/tslint.json
+1 −1 fmt.sh
+12 −11 ghcide.cabal
+2 −2 hie-compat/hie-compat.cabal
+5 −0 hie.yaml
+37 −0 nix/default.nix
+17 −5 nix/sources.json
+46 −32 nix/sources.nix
+49 −16 session-loader/Development/IDE/Session.hs
+1 −1 session-loader/Development/IDE/Session/VersionCheck.hs
+201 −0 shake-bench/LICENSE
+44 −0 shake-bench/shake-bench.cabal
+568 −0 shake-bench/src/Development/Benchmark/Rules.hs
+23 −84 shell.nix
+1 −2 src/Development/IDE.hs
+2 −11 src/Development/IDE/Core/Compile.hs
+1 −1 src/Development/IDE/Core/FileExists.hs
+9 −7 src/Development/IDE/Core/FileStore.hs
+2 −2 src/Development/IDE/Core/OfInterest.hs
+14 −3 src/Development/IDE/Core/RuleTypes.hs
+13 −16 src/Development/IDE/Core/Rules.hs
+1 −0 src/Development/IDE/Core/Service.hs
+23 −55 src/Development/IDE/Core/Shake.hs
+179 −0 src/Development/IDE/Core/Tracing.hs
+8 −2 src/Development/IDE/GHC/Error.hs
+9 −10 src/Development/IDE/Import/DependencyInformation.hs
+14 −8 src/Development/IDE/LSP/LanguageServer.hs
+114 −33 src/Development/IDE/Plugin/CodeAction.hs
+15 −5 src/Development/IDE/Plugin/Completions.hs
+160 −25 src/Development/IDE/Plugin/Completions/Logic.hs
+2 −1 src/Development/IDE/Plugin/Completions/Types.hs
+1 −1 src/Development/IDE/Spans/Documentation.hs
+24 −0 src/Development/IDE/Types/KnownTargets.hs
+10 −4 src/Development/IDE/Types/Options.hs
+41 −0 src/Development/IDE/Types/Shake.hs
+0 −30 stack-ghc-lib.yaml
+58 −0 stack-windows.yaml
+27 −17 stack.yaml
+0 −35 stack810.yaml
+0 −35 stack8101.yaml
+0 −19 stack88.yaml
+14 −0 test/data/cabal-exe/a/a.cabal
+3 −0 test/data/cabal-exe/a/src/Main.hs
+1 −0 test/data/cabal-exe/cabal.project
+3 −0 test/data/cabal-exe/hie.yaml
+369 −192 test/exe/Main.hs
8 changes: 4 additions & 4 deletions haskell-language-server.cabal
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
cabal-version: 2.2
category: Development
name: haskell-language-server
version: 0.6.0.0
version: 0.7.0.0
synopsis: LSP server for GHC
description:
Please see the README on GitHub at <https://github.com/haskell/haskell-language-server#readme>
Expand Down Expand Up @@ -59,10 +59,9 @@ library
, containers
, data-default
, ghc
, ghcide >=0.5
, ghcide >=0.6.0.1
, gitrev
, haskell-lsp ^>=0.22
, hie-bios >=0.6.1 && <0.8
, hls-plugin-api >=0.5
, hslogger
, optparse-applicative
Expand Down Expand Up @@ -144,7 +143,7 @@ executable haskell-language-server
, unordered-containers

if flag(agpl)
build-depends: brittany
build-depends: brittany >= 0.13.1.0
other-modules: Ide.Plugin.Brittany

include-dirs: include
Expand All @@ -170,6 +169,7 @@ executable haskell-language-server-wrapper
build-depends:
, ghc
, ghc-paths
, ghcide
, gitrev
, haskell-language-server
, hie-bios
Expand Down
2 changes: 1 addition & 1 deletion hls-plugin-api/hls-plugin-api.cabal
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cabal-version: 2.2
name: hls-plugin-api
version: 0.5.0.0
version: 0.5.0.1
synopsis: Haskell Language Server API for plugin communication
description:
Please see the README on GitHub at <https://github.com/haskell/haskell-language-server#readme>
Expand Down
1 change: 1 addition & 0 deletions nix/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ let
haskellPackages.extend (pkgs.haskell.lib.packageSourceOverrides {
haskell-language-server = gitignoreSource ../.;
ghcide = gitignoreSource ../ghcide;
shake-bench = gitignoreSource ../ghcide/shake-bench;
hie-compat = gitignoreSource ../ghcide/hie-compat;
hls-plugin-api = gitignoreSource ../hls-plugin-api;
hls-tactics-plugin = gitignoreSource ../plugins/tactics;
Expand Down
1 change: 1 addition & 0 deletions shell.nix
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ let defaultCompiler = "ghc" + lib.replaceStrings ["."] [""] haskellPackages.ghc.

packages = p: [ p.haskell-language-server
p.ghcide
p.shake-bench
p.hie-compat
p.hls-plugin-api
p.hls-tactics-plugin
Expand Down
7 changes: 3 additions & 4 deletions src/Ide/Main.hs
Original file line number Diff line number Diff line change
Expand Up @@ -34,19 +34,18 @@ import Development.IDE.Core.Shake
import Development.IDE.LSP.LanguageServer
import Development.IDE.LSP.Protocol
import Development.IDE.Plugin
import Development.IDE.Session
import Development.IDE.Session (loadSession, findCradle, defaultLoadingOptions)
import Development.IDE.Types.Diagnostics
import Development.IDE.Types.Location
import Development.IDE.Types.Logger
import Development.IDE.Types.Options
import HIE.Bios.Cradle
import qualified Language.Haskell.LSP.Core as LSP
import Ide.Arguments
import Ide.Logger
import Ide.Plugin
import Ide.Version
import Ide.Plugin.Config
import Ide.Types (IdePlugins, ipMap)
import Ide.Types (IdePlugins, ipMap)
import Language.Haskell.LSP.Messages
import Language.Haskell.LSP.Types
import qualified System.Directory.Extra as IO
Expand Down Expand Up @@ -158,7 +157,7 @@ runLspMode lspArgs@LspArguments{..} idePlugins = do
putStrLn $ "Found " ++ show (length files) ++ " files"

putStrLn "\nStep 2/4: Looking for hie.yaml files that control setup"
cradles <- mapM findCradle files
cradles <- mapM (findCradle defaultLoadingOptions) files
let ucradles = nubOrd cradles
let n = length ucradles
putStrLn $ "Found " ++ show n ++ " cradle" ++ ['s' | n /= 1]
Expand Down
14 changes: 6 additions & 8 deletions stack-8.10.1.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,23 +14,24 @@ ghc-options:
"$everything": -haddock

extra-deps:
- github: bubba/brittany
commit: c59655f10d5ad295c2481537fc8abf0a297d9d1c
- brittany-0.13.1.0
- Cabal-3.0.2.0
- clock-0.7.2
- data-tree-print-0.1.0.2
- data-tree-print-0.1.0.2@rev:2
- floskell-0.10.4
- fourmolu-0.3.0.0
- ghc-lib-8.10.2.20200916
- ghc-lib-parser-8.10.2.20200916
- heapsize-0.3.0
- hie-bios-0.7.1
- hlint-3.2
- hlint-3.2.3
- HsYAML-aeson-0.2.0.0@rev:2
- implicit-hie-cradle-0.3.0.2
- implicit-hie-0.1.2.5
- lsp-test-0.11.0.6
- monad-dijkstra-0.1.1.2
- opentelemetry-0.4.2
- opentelemetry-0.6.1
- opentelemetry-extra-0.6.1
- ormolu-0.1.4.1
- refinery-0.3.0.0
- retrie-0.1.1.1
Expand All @@ -44,9 +45,6 @@ flags:
retrie:
BuildExecutable: false

# for data-tree-print's bounds on base (>=4.8 && <4.14); using base-4.14.0.0.
allow-newer: true

nix:
packages: [ icu libcxx zlib ]

Expand Down
12 changes: 4 additions & 8 deletions stack-8.10.2.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
resolver: nightly-2020-11-22
resolver: nightly-2020-12-09

packages:
- .
Expand All @@ -14,18 +14,17 @@ ghc-options:
"$everything": -haddock

extra-deps:
- github: bubba/brittany
commit: c59655f10d5ad295c2481537fc8abf0a297d9d1c
- brittany-0.13.1.0
- Cabal-3.0.2.0
- clock-0.7.2
- data-tree-print-0.1.0.2
- data-tree-print-0.1.0.2@rev:2
- floskell-0.10.4
- fourmolu-0.3.0.0
- heapsize-0.3.0
- implicit-hie-cradle-0.3.0.2
- implicit-hie-0.1.2.5
- lsp-test-0.11.0.6
- monad-dijkstra-0.1.1.2
- opentelemetry-0.4.2
- refinery-0.3.0.0
- retrie-0.1.1.1
- stylish-haskell-0.12.2.0
Expand All @@ -38,9 +37,6 @@ flags:
retrie:
BuildExecutable: false

# for data-tree-print's bounds on base (>=4.8 && <4.14); using base-4.14.0.0.
allow-newer: true

nix:
packages: [ icu libcxx zlib ]

Expand Down
12 changes: 8 additions & 4 deletions stack-8.6.4.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,7 @@ extra-deps:
- apply-refact-0.8.2.1
- ansi-terminal-0.10.3
- base-compat-0.10.5
- github: bubba/brittany
commit: c59655f10d5ad295c2481537fc8abf0a297d9d1c
- brittany-0.13.1.0
- butcher-1.3.3.1
- Cabal-3.0.2.0
- cabal-plan-0.6.2.0
Expand All @@ -32,17 +31,21 @@ extra-deps:
- fuzzy-0.1.0.0
# - ghcide-0.1.0
- ghc-check-0.5.0.1
- ghc-events-0.13.0
- ghc-exactprint-0.6.3.2
- ghc-lib-8.10.2.20200916
- ghc-lib-parser-8.10.2.20200916
- ghc-lib-parser-ex-8.10.0.16
- ghc-source-gen-0.4.0.0
- ghc-trace-events-0.1.2.1
- haddock-api-2.22.0@rev:1
- haddock-library-1.8.0
- hashable-1.3.0.0
- haskell-lsp-0.22.0.0
- haskell-lsp-types-0.22.0.0
- heapsize-0.3.0
- hie-bios-0.7.1
- hlint-3.2
- hlint-3.2.3
- HsYAML-0.2.1.0@rev:1
- HsYAML-aeson-0.2.0.0@rev:2
- implicit-hie-cradle-0.3.0.2
Expand All @@ -51,7 +54,8 @@ extra-deps:
- lens-4.18
- lsp-test-0.11.0.6
- monad-dijkstra-0.1.1.2
- opentelemetry-0.4.2
- opentelemetry-0.6.1
- opentelemetry-extra-0.6.1
- optics-core-0.2
- optparse-applicative-0.15.1.0
- ormolu-0.1.4.1
Expand Down
12 changes: 8 additions & 4 deletions stack-8.6.5.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,7 @@ extra-deps:
- apply-refact-0.8.2.1
- ansi-terminal-0.10.3
- base-compat-0.10.5
- github: bubba/brittany
commit: c59655f10d5ad295c2481537fc8abf0a297d9d1c
- brittany-0.13.1.0
- butcher-1.3.3.1
- Cabal-3.0.2.0
- cabal-plan-0.6.2.0
Expand All @@ -31,17 +30,21 @@ extra-deps:
- fuzzy-0.1.0.0
# - ghcide-0.1.0
- ghc-check-0.5.0.1
- ghc-events-0.13.0
- ghc-exactprint-0.6.3.2
- ghc-lib-8.10.2.20200916
- ghc-lib-parser-8.10.2.20200916
- ghc-lib-parser-ex-8.10.0.16
- ghc-source-gen-0.4.0.0
- ghc-trace-events-0.1.2.1
- haddock-api-2.22.0@rev:1
- haddock-library-1.8.0
- hashable-1.3.0.0
- haskell-lsp-0.22.0.0
- haskell-lsp-types-0.22.0.0
- heapsize-0.3.0
- hie-bios-0.7.1
- hlint-3.2
- hlint-3.2.3
- HsYAML-0.2.1.0@rev:1
- HsYAML-aeson-0.2.0.0@rev:2
- implicit-hie-cradle-0.3.0.2
Expand All @@ -50,7 +53,8 @@ extra-deps:
- lens-4.18
- lsp-test-0.11.0.6
- monad-dijkstra-0.1.1.2
- opentelemetry-0.4.2
- opentelemetry-0.6.1
- opentelemetry-extra-0.6.1
- optics-core-0.2
- optparse-applicative-0.15.1.0
- ormolu-0.1.4.1
Expand Down
Loading