Skip to content

Commit

Permalink
Merge pull request #658 from jneira/ghcide-0.6
Browse files Browse the repository at this point in the history
Prepare 0.7.0 release (includes ghcide bump to 0.6.0.1)
  • Loading branch information
jneira authored Dec 15, 2020
2 parents 60f811c + ac99654 commit 6a692de
Show file tree
Hide file tree
Showing 27 changed files with 198 additions and 141 deletions.
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

0 comments on commit 6a692de

Please sign in to comment.