diff --git a/ghcide/ghcide.cabal b/ghcide/ghcide.cabal index f523b53e964..9a97e88b27e 100644 --- a/ghcide/ghcide.cabal +++ b/ghcide/ghcide.cabal @@ -1,399 +1,420 @@ -cabal-version: 3.0 -build-type: Simple -category: Development -name: ghcide -version: 1.9.0.0 -license: Apache-2.0 -license-file: LICENSE -author: Digital Asset and Ghcide contributors -maintainer: Ghcide contributors -copyright: Digital Asset and Ghcide contributors 2018-2020 -synopsis: The core of an IDE -description: - A library for building Haskell IDE's on top of the GHC API. -homepage: https://github.com/haskell/haskell-language-server/tree/master/ghcide#readme -bug-reports: https://github.com/haskell/haskell-language-server/issues -tested-with: GHC == 8.10.7 || == 9.0.2 || == 9.2.5 -extra-source-files: README.md CHANGELOG.md - test/data/**/*.project - test/data/**/*.cabal - test/data/**/*.yaml - test/data/**/*.hs - test/data/**/*.hs-boot +cabal-version: 3.0 +build-type: Simple +category: Development +name: ghcide +version: 1.9.0.0 +license: Apache-2.0 +license-file: LICENSE +author: Digital Asset and Ghcide contributors +maintainer: Ghcide contributors +copyright: Digital Asset and Ghcide contributors 2018-2020 +synopsis: The core of an IDE +description: A library for building Haskell IDE's on top of the GHC API. +homepage: https://github.com/haskell/haskell-language-server/tree/master/ghcide#readme +bug-reports: https://github.com/haskell/haskell-language-server/issues +tested-with: ghc ==8.10.7 || ==9.0.2 || ==9.2.5 +extra-source-files: + CHANGELOG.md + README.md + test/data/**/*.cabal + test/data/**/*.hs + test/data/**/*.hs-boot + test/data/**/*.project + test/data/**/*.yaml source-repository head - type: git - location: https://github.com/haskell/haskell-language-server.git + type: git + location: https://github.com/haskell/haskell-language-server.git flag ghc-patched-unboxed-bytecode - description: The GHC version we link against supports unboxed sums and tuples in bytecode - default: False - manual: True + description: The GHC version we link against supports unboxed sums and tuples in bytecode + default: False + manual: True flag ekg - description: Enable EKG monitoring of the build graph and other metrics on port 8999 - default: False - manual: True + description: Enable EKG monitoring of the build graph and other metrics on port 8999 + default: False + manual: True library - default-language: Haskell2010 + default-language: Haskell2010 + build-depends: + -- implicit-hie 0.1.3.0 introduced an unexpected behavioral change. + -- https://github.com/Avi-D-coder/implicit-hie/issues/50 + -- to make sure ghcide behaves in a desirable way, we put implicit-hie + -- fake dependency here. + Diff ^>=0.4.0, + Glob, + aeson, + aeson-pretty, + array, + async, + base >=4 && <5, + base16-bytestring >=0.1.1 && <1.1, + binary, + bytestring, + case-insensitive, + co-log-core, + containers, + cryptohash-sha1 >=0.11.100 && <0.12, + data-default, + deepseq, + dependent-map, + dependent-sum, + directory, + dlist, + enummapset, + exceptions, + extra >=1.7.4, + filepath, + fingertree, + focus, + ghc >=8.10, + ghc-boot, + ghc-boot-th, + ghc-check >=0.5.0.8, + ghc-paths, + ghc-trace-events, + haddock-library >=1.8 && <1.12, + hashable, + hie-bios ^>=0.11.0, + hie-compat ^>=0.3.0.0, + hiedb >=0.4.2 && <0.4.3, + hls-graph ^>=1.9, + hls-plugin-api ^>=1.6, + hslogger, + implicit-hie <0.1.3, + implicit-hie-cradle ^>=0.3.0.5 || ^>=0.5, + lens, + list-t, + lsp ^>=1.6.0.0, + lsp-types ^>=1.6.0.0, + mtl, + opentelemetry >=0.6.1, + optparse-applicative, + parallel, + prettyprinter >=1.7, + prettyprinter-ansi-terminal, + random, + regex-tdfa >=1.3.1.0, + safe-exceptions, + sorted-list, + sqlite-simple, + stm, + stm-containers, + syb, + text, + text-rope, + time, + transformers, + unliftio >=0.2.6, + unliftio-core, + unordered-containers >=0.2.10.0, + vector, + + if os(windows) + build-depends: Win32 + else + build-depends: unix + + default-extensions: + BangPatterns + DataKinds + DeriveFoldable + DeriveFunctor + DeriveGeneric + DeriveTraversable + FlexibleContexts + GeneralizedNewtypeDeriving + KindSignatures + LambdaCase + NamedFieldPuns + OverloadedStrings + RecordWildCards + ScopedTypeVariables + StandaloneDeriving + TupleSections + TypeApplications + TypeOperators + ViewPatterns + + hs-source-dirs: + src + session-loader + + exposed-modules: + Control.Concurrent.Strict + Development.IDE + Development.IDE.Core.Actions + Development.IDE.Core.Compile + Development.IDE.Core.Debouncer + Development.IDE.Core.FileStore + Development.IDE.Core.FileUtils + Development.IDE.Core.IdeConfiguration + Development.IDE.Core.OfInterest + Development.IDE.Core.PositionMapping + Development.IDE.Core.Preprocessor + Development.IDE.Core.ProgressReporting + Development.IDE.Core.RuleTypes + Development.IDE.Core.Rules + Development.IDE.Core.Service + Development.IDE.Core.Shake + Development.IDE.Core.Tracing + Development.IDE.Core.UseStale + Development.IDE.GHC.Compat + Development.IDE.GHC.Compat.Core + Development.IDE.GHC.Compat.Env + Development.IDE.GHC.Compat.Iface + Development.IDE.GHC.Compat.Logger + Development.IDE.GHC.Compat.Outputable + Development.IDE.GHC.Compat.Parser + Development.IDE.GHC.Compat.Plugins + Development.IDE.GHC.Compat.Units + Development.IDE.GHC.Compat.Util + Development.IDE.GHC.CoreFile + Development.IDE.GHC.Error + Development.IDE.GHC.Orphans + Development.IDE.GHC.Util + Development.IDE.Import.DependencyInformation + Development.IDE.Import.FindImports + Development.IDE.LSP.HoverDefinition + Development.IDE.LSP.LanguageServer + Development.IDE.LSP.Notifications + Development.IDE.LSP.Outline + Development.IDE.LSP.Server + Development.IDE.Main + Development.IDE.Main.HeapStats + Development.IDE.Monitoring.EKG + Development.IDE.Monitoring.OpenTelemetry + Development.IDE.Plugin + Development.IDE.Plugin.Completions + Development.IDE.Plugin.Completions.Types + Development.IDE.Plugin.HLS + Development.IDE.Plugin.HLS.GhcIde + Development.IDE.Plugin.Test + Development.IDE.Plugin.TypeLenses + Development.IDE.Session + Development.IDE.Spans.AtPoint + Development.IDE.Spans.Common + Development.IDE.Spans.Documentation + Development.IDE.Spans.LocalBindings + Development.IDE.Spans.Pragmas + Development.IDE.Types.Diagnostics + Development.IDE.Types.Exports + Development.IDE.Types.HscEnvEq + Development.IDE.Types.KnownTargets + Development.IDE.Types.Location + Development.IDE.Types.Logger + Development.IDE.Types.Monitoring + Development.IDE.Types.Options + Development.IDE.Types.Shake + Generics.SYB.GHC + Text.Fuzzy.Parallel + + other-modules: + Development.IDE.Core.FileExists + Development.IDE.GHC.CPP + Development.IDE.GHC.Warnings + Development.IDE.Plugin.Completions.Logic + Development.IDE.Session.VersionCheck + Development.IDE.Types.Action + + ghc-options: + -Wall + -Wno-name-shadowing + -Wincomplete-uni-patterns + -Wno-unticked-promoted-constructors + -fno-ignore-asserts + + if flag(ghc-patched-unboxed-bytecode) + cpp-options: -DGHC_PATCHED_UNBOXED_BYTECODE + + if impl(ghc >= 9) + ghc-options: -Wunused-packages + + if flag(ekg) build-depends: - aeson, - aeson-pretty, - array, - async, - base == 4.*, - binary, - bytestring, - case-insensitive, - co-log-core, - containers, - data-default, - deepseq, - directory, - dependent-map, - dependent-sum, - dlist, - exceptions, - extra >= 1.7.4, - enummapset, - filepath, - fingertree, - focus, - ghc-trace-events, - Glob, - haddock-library >= 1.8 && < 1.12, - hashable, - hie-compat ^>= 0.3.0.0, - hls-plugin-api ^>= 1.6, - lens, - list-t, - hiedb == 0.4.2.*, - lsp-types ^>= 1.6.0.0, - lsp ^>= 1.6.0.0 , - mtl, - optparse-applicative, - parallel, - prettyprinter-ansi-terminal, - prettyprinter >= 1.7, - random, - regex-tdfa >= 1.3.1.0, - text-rope, - safe-exceptions, - hls-graph ^>= 1.9, - sorted-list, - sqlite-simple, - stm, - stm-containers, - syb, - text, - time, - transformers, - unordered-containers >= 0.2.10.0, - vector, - hslogger, - Diff ^>=0.4.0, - vector, - opentelemetry >=0.6.1, - unliftio >= 0.2.6, - unliftio-core, - ghc-boot-th, - ghc-boot, - ghc >= 8.10, - ghc-check >=0.5.0.8, - ghc-paths, - cryptohash-sha1 >=0.11.100 && <0.12, - hie-bios ^>= 0.11.0, - -- implicit-hie 0.1.3.0 introduced an unexpected behavioral change. - -- https://github.com/Avi-D-coder/implicit-hie/issues/50 - -- to make sure ghcide behaves in a desirable way, we put implicit-hie - -- fake dependency here. - implicit-hie < 0.1.3, - implicit-hie-cradle ^>= 0.3.0.5 || ^>= 0.5, - base16-bytestring >=0.1.1 && <1.1 - if os(windows) - build-depends: - Win32 - else - build-depends: - unix - - default-extensions: - BangPatterns - DeriveFunctor - DeriveGeneric - DeriveFoldable - DeriveTraversable - FlexibleContexts - GeneralizedNewtypeDeriving - LambdaCase - NamedFieldPuns - OverloadedStrings - RecordWildCards - ScopedTypeVariables - StandaloneDeriving - TupleSections - TypeApplications - ViewPatterns - DataKinds - TypeOperators - KindSignatures - - hs-source-dirs: - src - session-loader - exposed-modules: - Control.Concurrent.Strict - Generics.SYB.GHC - Development.IDE - Development.IDE.Main - Development.IDE.Core.Actions - Development.IDE.Main.HeapStats - Development.IDE.Core.Debouncer - Development.IDE.Core.FileStore - Development.IDE.Core.FileUtils - Development.IDE.Core.IdeConfiguration - Development.IDE.Core.OfInterest - Development.IDE.Core.PositionMapping - Development.IDE.Core.Preprocessor - Development.IDE.Core.ProgressReporting - Development.IDE.Core.Rules - Development.IDE.Core.RuleTypes - Development.IDE.Core.Service - Development.IDE.Core.Shake - Development.IDE.Core.Tracing - Development.IDE.Core.UseStale - Development.IDE.GHC.Compat - Development.IDE.GHC.Compat.Core - Development.IDE.GHC.Compat.Env - Development.IDE.GHC.Compat.Iface - Development.IDE.GHC.Compat.Logger - Development.IDE.GHC.Compat.Outputable - Development.IDE.GHC.Compat.Parser - Development.IDE.GHC.Compat.Plugins - Development.IDE.GHC.Compat.Units - Development.IDE.GHC.Compat.Util - Development.IDE.Core.Compile - Development.IDE.GHC.CoreFile - Development.IDE.GHC.Error - Development.IDE.GHC.Orphans - Development.IDE.GHC.Util - Development.IDE.Import.DependencyInformation - Development.IDE.Import.FindImports - Development.IDE.Monitoring.EKG - Development.IDE.LSP.HoverDefinition - Development.IDE.LSP.LanguageServer - Development.IDE.LSP.Notifications - Development.IDE.LSP.Outline - Development.IDE.LSP.Server - Development.IDE.Session - Development.IDE.Spans.Common - Development.IDE.Spans.Documentation - Development.IDE.Spans.AtPoint - Development.IDE.Spans.LocalBindings - Development.IDE.Spans.Pragmas - Development.IDE.Types.Diagnostics - Development.IDE.Types.Exports - Development.IDE.Types.HscEnvEq - Development.IDE.Types.KnownTargets - Development.IDE.Types.Location - Development.IDE.Types.Logger - Development.IDE.Types.Monitoring - Development.IDE.Monitoring.OpenTelemetry - Development.IDE.Types.Options - Development.IDE.Types.Shake - Development.IDE.Plugin - Development.IDE.Plugin.Completions - Development.IDE.Plugin.Completions.Types - Development.IDE.Plugin.HLS - Development.IDE.Plugin.HLS.GhcIde - Development.IDE.Plugin.Test - Development.IDE.Plugin.TypeLenses - Text.Fuzzy.Parallel - - other-modules: - Development.IDE.Core.FileExists - Development.IDE.GHC.CPP - Development.IDE.GHC.Warnings - Development.IDE.Plugin.Completions.Logic - Development.IDE.Session.VersionCheck - Development.IDE.Types.Action - - ghc-options: - -Wall - -Wno-name-shadowing - -Wincomplete-uni-patterns - -Wno-unticked-promoted-constructors - -fno-ignore-asserts - - if flag(ghc-patched-unboxed-bytecode) - cpp-options: -DGHC_PATCHED_UNBOXED_BYTECODE - - if impl(ghc >= 9) - ghc-options: -Wunused-packages - - if flag(ekg) - build-depends: - ekg-wai, - ekg-core, - cpp-options: -DMONITORING_EKG + ekg-core, + ekg-wai, + + cpp-options: -DMONITORING_EKG flag test-exe - description: Build the ghcide-test-preprocessor executable - default: True + description: Build the ghcide-test-preprocessor executable + default: True executable ghcide-test-preprocessor - default-language: Haskell2010 - hs-source-dirs: test/preprocessor - ghc-options: -Wall -Wno-name-shadowing - main-is: Main.hs - build-depends: - base == 4.* + default-language: Haskell2010 + hs-source-dirs: test/preprocessor + ghc-options: + -Wall + -Wno-name-shadowing + + main-is: Main.hs + build-depends: base >=4 && <5 - if !flag(test-exe) - buildable: False + if !flag(test-exe) + buildable: False flag executable - description: Build the ghcide executable - default: True + description: Build the ghcide executable + default: True executable ghcide - default-language: Haskell2010 - hs-source-dirs: exe - ghc-options: - -threaded - -Wall - -Wincomplete-uni-patterns - -Wno-name-shadowing - -- allow user RTS overrides - -rtsopts - -- disable idle GC - -- increase nursery size - -- Enable collection of heap statistics - "-with-rtsopts=-I0 -A128M -T" - main-is: Main.hs + default-language: Haskell2010 + hs-source-dirs: exe + ghc-options: + -- allow user RTS overrides + -- disable idle GC + -- increase nursery size + -- Enable collection of heap statistics + -threaded + -Wall + -Wincomplete-uni-patterns + -Wno-name-shadowing + -rtsopts + "-with-rtsopts=-I0 -A128M -T" + + main-is: Main.hs + build-depends: + base >=4 && <5, + data-default, + extra, + ghcide, + gitrev, + hls-plugin-api, + lsp, + lsp-types, + optparse-applicative, + + other-modules: + Arguments + Paths_ghcide + + autogen-modules: Paths_ghcide + default-extensions: + BangPatterns + DeriveFunctor + DeriveGeneric + FlexibleContexts + GeneralizedNewtypeDeriving + LambdaCase + NamedFieldPuns + OverloadedStrings + RecordWildCards + ScopedTypeVariables + StandaloneDeriving + TupleSections + TypeApplications + ViewPatterns + + if !flag(executable) + buildable: False + + if flag(ekg) build-depends: - base == 4.*, - data-default, - extra, - gitrev, - lsp, - lsp-types, - hls-plugin-api, - ghcide, - optparse-applicative, - other-modules: - Arguments - Paths_ghcide - autogen-modules: - Paths_ghcide - - default-extensions: - BangPatterns - DeriveFunctor - DeriveGeneric - FlexibleContexts - GeneralizedNewtypeDeriving - LambdaCase - NamedFieldPuns - OverloadedStrings - RecordWildCards - ScopedTypeVariables - StandaloneDeriving - TupleSections - TypeApplications - ViewPatterns - - if !flag(executable) - buildable: False - if flag(ekg) - build-depends: - ekg-wai, - ekg-core, - cpp-options: -DMONITORING_EKG - if impl(ghc >= 9) - ghc-options: -Wunused-packages + ekg-core, + ekg-wai, + + cpp-options: -DMONITORING_EKG + if impl(ghc >= 9) + ghc-options: -Wunused-packages test-suite ghcide-tests - type: exitcode-stdio-1.0 - default-language: Haskell2010 - build-tool-depends: - ghcide:ghcide, - ghcide:ghcide-test-preprocessor, - implicit-hie:gen-hie + type: exitcode-stdio-1.0 + default-language: Haskell2010 + build-tool-depends: + ghcide:ghcide, + ghcide:ghcide-test-preprocessor, + implicit-hie:gen-hie, + + build-depends: + -------------------------------------------------------------- + -- The MIN_VERSION_ghc macro relies on MIN_VERSION pragmas + -- which require depending on ghc. So the tests need to depend + -- on ghc if they need to use MIN_VERSION_ghc. Maybe a + -- better solution can be found, but this is a quick solution + -- which works for now. + -------------------------------------------------------------- + QuickCheck, + aeson, + async, + base, + containers, + data-default, + directory, + extra, + filepath, + fuzzy, + ghc, + ghcide, + hls-plugin-api, + lens, + list-t, + lsp, + lsp-test ^>=0.14, + lsp-types, + monoid-subclasses, + network-uri, + random, + regex-tdfa ^>=1.3.1, + shake, + sqlite-simple, + stm, + stm-containers, + tasty, + tasty-expected-failure, + tasty-hunit >=0.10, + tasty-quickcheck, + tasty-rerun, + text, + text-rope, + unordered-containers, + + if impl(ghc < 9.2) build-depends: - aeson, - async, - base, - containers, - data-default, - directory, - extra, - filepath, - fuzzy, - -------------------------------------------------------------- - -- The MIN_VERSION_ghc macro relies on MIN_VERSION pragmas - -- which require depending on ghc. So the tests need to depend - -- on ghc if they need to use MIN_VERSION_ghc. Maybe a - -- better solution can be found, but this is a quick solution - -- which works for now. - ghc, - -------------------------------------------------------------- - ghcide, - lsp, - lsp-types, - hls-plugin-api, - lens, - list-t, - lsp-test ^>= 0.14, - monoid-subclasses, - network-uri, - QuickCheck, - random, - regex-tdfa ^>= 1.3.1, - shake, - sqlite-simple, - stm, - stm-containers, - tasty, - tasty-expected-failure, - tasty-hunit >= 0.10, - tasty-quickcheck, - tasty-rerun, - text, - text-rope, - unordered-containers, - if impl(ghc < 9.2) - build-depends: - record-dot-preprocessor, - record-hasfield - if impl(ghc < 9.3) - build-depends: ghc-typelits-knownnat - if impl(ghc >= 9) - ghc-options: -Wunused-packages - hs-source-dirs: test/cabal test/exe test/src - ghc-options: -threaded -Wall -Wno-name-shadowing -O0 -Wno-unticked-promoted-constructors - main-is: Main.hs - other-modules: - Development.IDE.Test.Runfiles - FuzzySearch - Progress - HieDbRetry - Development.IDE.Test - Development.IDE.Test.Diagnostic - default-extensions: - BangPatterns - DeriveFunctor - DeriveGeneric - FlexibleContexts - GeneralizedNewtypeDeriving - LambdaCase - NamedFieldPuns - OverloadedStrings - RecordWildCards - ScopedTypeVariables - StandaloneDeriving - TupleSections - TypeApplications - ViewPatterns + record-dot-preprocessor, + record-hasfield, + + if impl(ghc < 9.3) + build-depends: ghc-typelits-knownnat + + if impl(ghc >= 9) + ghc-options: -Wunused-packages + hs-source-dirs: + test/cabal + test/exe + test/src + + ghc-options: + -threaded + -Wall + -Wno-name-shadowing + -O0 + -Wno-unticked-promoted-constructors + + main-is: Main.hs + other-modules: + Development.IDE.Test + Development.IDE.Test.Diagnostic + Development.IDE.Test.Runfiles + FuzzySearch + HieDbRetry + Progress + + default-extensions: + BangPatterns + DeriveFunctor + DeriveGeneric + FlexibleContexts + GeneralizedNewtypeDeriving + LambdaCase + NamedFieldPuns + OverloadedStrings + RecordWildCards + ScopedTypeVariables + StandaloneDeriving + TupleSections + TypeApplications + ViewPatterns diff --git a/haskell-language-server.cabal b/haskell-language-server.cabal index 22a6491eb54..306292b7b63 100644 --- a/haskell-language-server.cabal +++ b/haskell-language-server.cabal @@ -1,50 +1,52 @@ -cabal-version: 3.0 -category: Development -name: haskell-language-server -version: 1.9.0.0 -synopsis: LSP server for GHC -description: - Please see the README on GitHub at - -homepage: https://github.com/haskell/haskell-language-server#readme -bug-reports: https://github.com/haskell/haskell-language-server/issues -author: The Haskell IDE Team -maintainer: alan.zimm@gmail.com -copyright: The Haskell IDE Team -license: Apache-2.0 -license-file: LICENSE -build-type: Simple -tested-with: GHC == 8.10.7 || == 9.0.2 || ==9.2.5 +cabal-version: 3.0 +category: Development +name: haskell-language-server +version: 1.9.0.0 +synopsis: LSP server for GHC +description: Please see the README on GitHub at +homepage: https://github.com/haskell/haskell-language-server#readme +bug-reports: https://github.com/haskell/haskell-language-server/issues +author: The Haskell IDE Team +maintainer: alan.zimm@gmail.com +copyright: The Haskell IDE Team +license: Apache-2.0 +license-file: LICENSE +build-type: Simple +tested-with: ghc ==8.10.7 || ==9.0.2 || ==9.2.5 extra-source-files: - README.md ChangeLog.md - test/testdata/**/*.project + README.md + bindist/wrapper.in test/testdata/**/*.cabal - test/testdata/**/*.yaml test/testdata/**/*.hs - bindist/wrapper.in + test/testdata/**/*.project + test/testdata/**/*.yaml flag pedantic description: Enable -Werror - default: False - manual: True + default: False + manual: True source-repository head - type: git + type: git location: https://github.com/haskell/haskell-language-server common common-deps build-depends: - , base >=4.12 && <5 - , directory - , extra - , filepath - , text - , prettyprinter + base >=4.12 && <5, + directory, + extra, + filepath, + prettyprinter, + text, -- Default warnings in HLS common warnings - ghc-options: -Wall -Wredundant-constraints -Wno-name-shadowing -Wno-unticked-promoted-constructors + ghc-options: + -Wall + -Wredundant-constraints + -Wno-name-shadowing + -Wno-unticked-promoted-constructors -- Allow compiling in pedantic mode common pedantic @@ -54,196 +56,193 @@ common pedantic -- Plugin flags are designed for 'cabal install haskell-language-server': -- - Bulk flags should be default:False -- - Individual flags should be default:True - -- The intent of this flag is being able to keep the ghc condition for hackage -- but skip it via flags in cabal.project as plugins for new ghcs usually -- are buildable using cabal.project tweaks flag ignore-plugins-ghc-bounds description: Force the inclusion of plugins even if they are not buildable by default with a specific ghc version - default: False - manual: True - + default: False + manual: True flag cabal description: Enable cabal plugin - default: True - manual: True + default: True + manual: True flag class description: Enable class plugin - default: True - manual: True + default: True + manual: True flag callHierarchy description: Enable call hierarchy plugin - default: True - manual: True + default: True + manual: True flag haddockComments description: Enable haddockComments plugin - default: True - manual: True + default: True + manual: True flag eval description: Enable eval plugin - default: True - manual: True + default: True + manual: True flag importLens description: Enable importLens plugin - default: True - manual: True + default: True + manual: True flag refineImports description: Enable refineImports plugin - default: True - manual: True + default: True + manual: True flag rename description: Enable rename plugin - default: True - manual: True + default: True + manual: True flag retrie description: Enable retrie plugin - default: True - manual: True + default: True + manual: True flag tactic description: Enable tactic plugin - default: True - manual: True + default: True + manual: True flag hlint description: Enable hlint plugin - default: True - manual: True + default: True + manual: True flag stan description: Enable stan plugin - default: True - manual: True + default: True + manual: True flag moduleName description: Enable moduleName plugin - default: True - manual: True + default: True + manual: True flag pragmas description: Enable pragmas plugin - default: True - manual: True + default: True + manual: True flag splice description: Enable splice plugin - default: True - manual: True + default: True + manual: True flag alternateNumberFormat description: Enable Alternate Number Format plugin - default: True - manual: True + default: True + manual: True flag qualifyImportedNames description: Enable qualifyImportedNames plugin - default: True - manual: True + default: True + manual: True flag codeRange description: Enable Code Range plugin - default: True - manual: True + default: True + manual: True flag changeTypeSignature description: Enable changeTypeSignature plugin - default: True - manual: True + default: True + manual: True flag gadt description: Enable gadt plugin - default: True - manual: True + default: True + manual: True flag explicitFixity description: Enable explicitFixity plugin - default: True - manual: True + default: True + manual: True flag explicitFields description: Enable explicitFields plugin - default: True - manual: True + default: True + manual: True -- formatters - flag floskell description: Enable floskell plugin - default: True - manual: True + default: True + manual: True flag fourmolu description: Enable fourmolu plugin - default: True - manual: True + default: True + manual: True flag ormolu description: Enable ormolu plugin - default: True - manual: True + default: True + manual: True flag stylishHaskell description: Enable stylishHaskell plugin - default: True - manual: True + default: True + manual: True flag refactor description: Enable refactor plugin - default: True - manual: True + default: True + manual: True flag dynamic description: Build with the dyn rts - default: True - manual: True + default: True + manual: True flag cabalfmt description: Enable cabal-fmt plugin - default: True - manual: True + default: True + manual: True common cabalfmt if flag(cabalfmt) - build-depends: hls-cabal-fmt-plugin ^>= 0.1.0.0 + build-depends: hls-cabal-fmt-plugin ^>=0.1.0.0 cpp-options: -Dhls_cabalfmt common cabal if flag(cabal) - build-depends: hls-cabal-plugin ^>= 0.1 + build-depends: hls-cabal-plugin ^>=0.1 cpp-options: -Dhls_cabal common class if flag(class) - build-depends: hls-class-plugin ^>= 1.1 + build-depends: hls-class-plugin ^>=1.1 cpp-options: -Dhls_class common callHierarchy if flag(callHierarchy) - build-depends: hls-call-hierarchy-plugin ^>= 1.2 + build-depends: hls-call-hierarchy-plugin ^>=1.2 cpp-options: -Dhls_callHierarchy common haddockComments - if flag(haddockComments) && (impl(ghc < 9.2.1) || flag(ignore-plugins-ghc-bounds)) - build-depends: hls-haddock-comments-plugin ^>= 1.1 + if flag(haddockComments)&&(impl(ghc < 9.2.1)|| flag(ignore-plugins-ghc-bounds)) + build-depends: hls-haddock-comments-plugin ^>=1.1 cpp-options: -Dhls_haddockComments common eval - if flag(eval) && (impl(ghc < 9.4.1) || flag(ignore-plugins-ghc-bounds)) - build-depends: hls-eval-plugin ^>= 1.4 + if flag(eval)&&(impl(ghc < 9.4.1)|| flag(ignore-plugins-ghc-bounds)) + build-depends: hls-eval-plugin ^>=1.4 cpp-options: -Dhls_eval common importLens if flag(importLens) - build-depends: hls-explicit-imports-plugin ^>= 1.2 + build-depends: hls-explicit-imports-plugin ^>=1.2 cpp-options: -Dhls_importLens common refineImports @@ -253,37 +252,37 @@ common refineImports common rename if flag(rename) - build-depends: hls-rename-plugin ^>= 1.0 + build-depends: hls-rename-plugin ^>=1.0 cpp-options: -Dhls_rename common retrie if flag(retrie) - build-depends: hls-retrie-plugin ^>= 1.0 + build-depends: hls-retrie-plugin ^>=1.0 cpp-options: -Dhls_retrie common tactic - if flag(tactic) && (impl(ghc < 9.2.1) || flag(ignore-plugins-ghc-bounds)) - build-depends: hls-tactics-plugin ^>= 1.8 + if flag(tactic)&&(impl(ghc < 9.2.1)|| flag(ignore-plugins-ghc-bounds)) + build-depends: hls-tactics-plugin ^>=1.8 cpp-options: -Dhls_tactic common hlint if flag(hlint) - build-depends: hls-hlint-plugin ^>= 1.1 + build-depends: hls-hlint-plugin ^>=1.1 cpp-options: -Dhls_hlint common stan - if flag(stan) && (impl(ghc >= 8.10) && impl(ghc < 9.0)) - build-depends: hls-stan-plugin ^>= 1.0 + if flag(stan)&&(impl(ghc >= 8.10)&& impl(ghc < 9.0)) + build-depends: hls-stan-plugin ^>=1.0 cpp-options: -Dhls_stan common moduleName if flag(moduleName) - build-depends: hls-module-name-plugin ^>= 1.1 + build-depends: hls-module-name-plugin ^>=1.1 cpp-options: -Dhls_moduleName common pragmas if flag(pragmas) - build-depends: hls-pragmas-plugin ^>= 1.0 + build-depends: hls-pragmas-plugin ^>=1.0 cpp-options: -Dhls_pragmas common splice @@ -293,7 +292,7 @@ common splice common alternateNumberFormat if flag(alternateNumberFormat) - build-depends: hls-alternate-number-format-plugin ^>= 1.3 + build-depends: hls-alternate-number-format-plugin ^>=1.3 cpp-options: -Dhls_alternateNumberFormat common qualifyImportedNames @@ -303,264 +302,273 @@ common qualifyImportedNames common codeRange if flag(codeRange) - build-depends: hls-code-range-plugin ^>= 1.1 + build-depends: hls-code-range-plugin ^>=1.1 cpp-options: -Dhls_codeRange common changeTypeSignature if flag(changeTypeSignature) - build-depends: hls-change-type-signature-plugin ^>= 1.1 + build-depends: hls-change-type-signature-plugin ^>=1.1 cpp-options: -Dhls_changeTypeSignature common gadt if flag(gadt) - build-depends: hls-gadt-plugin ^>= 1.0 + build-depends: hls-gadt-plugin ^>=1.0 cpp-options: -Dhls_gadt common explicitFixity if flag(explicitFixity) - build-depends: hls-explicit-fixity-plugin ^>= 1.1 + build-depends: hls-explicit-fixity-plugin ^>=1.1 cpp-options: -DexplicitFixity common explicitFields if flag(explicitFields) - build-depends: hls-explicit-record-fields-plugin ^>= 1.0 + build-depends: hls-explicit-record-fields-plugin ^>=1.0 cpp-options: -DexplicitFields -- formatters - common floskell - if flag(floskell) - build-depends: hls-floskell-plugin ^>= 1.0 + if flag(floskell) + build-depends: hls-floskell-plugin ^>=1.0 cpp-options: -Dhls_floskell common fourmolu if flag(fourmolu) - build-depends: hls-fourmolu-plugin ^>= 1.1 + build-depends: hls-fourmolu-plugin ^>=1.1 cpp-options: -Dhls_fourmolu common ormolu - if flag(ormolu) - build-depends: hls-ormolu-plugin ^>= 1.0 + if flag(ormolu) + build-depends: hls-ormolu-plugin ^>=1.0 cpp-options: -Dhls_ormolu common stylishHaskell - if flag(stylishHaskell) - build-depends: hls-stylish-haskell-plugin ^>= 1.0 + if flag(stylishHaskell) + build-depends: hls-stylish-haskell-plugin ^>=1.0 cpp-options: -Dhls_stylishHaskell common refactor if flag(refactor) - build-depends: hls-refactor-plugin ^>= 1.1 + build-depends: hls-refactor-plugin ^>=1.1 cpp-options: -Dhls_refactor library - import: common-deps - -- configuration - , warnings - , pedantic - -- plugins - , cabal - , callHierarchy - , cabalfmt - , changeTypeSignature - , class - , haddockComments - , eval - , importLens - , refineImports - , rename - , retrie - , tactic - , hlint - , stan - , moduleName - , pragmas - , splice - , alternateNumberFormat - , qualifyImportedNames - , codeRange - , gadt - , explicitFixity - , explicitFields - , floskell - , fourmolu - , ormolu - , stylishHaskell - , refactor + import: + common-deps + -- configuration + , warnings + , pedantic + -- plugins + , cabal + , callHierarchy + , cabalfmt + , changeTypeSignature + , class + , haddockComments + , eval + , importLens + , refineImports + , rename + , retrie + , tactic + , hlint + , stan + , moduleName + , pragmas + , splice + , alternateNumberFormat + , qualifyImportedNames + , codeRange + , gadt + , explicitFixity + , explicitFields + , floskell + , fourmolu + , ormolu + , stylishHaskell + , refactor exposed-modules: + HlsPlugins Ide.Arguments Ide.Main Ide.Version - HlsPlugins - other-modules: Paths_haskell_language_server - autogen-modules: Paths_haskell_language_server - hs-source-dirs: src + other-modules: Paths_haskell_language_server + autogen-modules: Paths_haskell_language_server + hs-source-dirs: src build-depends: - , async - , base16-bytestring - , bytestring - , containers - , cryptohash-sha1 - , data-default - , ghc - , ghcide ^>=1.9 - , githash >=0.1.6.1 - , lsp - , hie-bios - , hiedb - , hls-plugin-api ^>=1.6 - , optparse-applicative - , optparse-simple - , process - , hls-graph - , safe-exceptions - , sqlite-simple - , unordered-containers - , aeson-pretty + aeson-pretty, + async, + base16-bytestring, + bytestring, + containers, + cryptohash-sha1, + data-default, + ghc, + ghcide ^>=1.9, + githash >=0.1.6.1, + hie-bios, + hiedb, + hls-graph, + hls-plugin-api ^>=1.6, + lsp, + optparse-applicative, + optparse-simple, + process, + safe-exceptions, + sqlite-simple, + unordered-containers, default-language: Haskell2010 - default-extensions: DataKinds, TypeOperators + default-extensions: + DataKinds + TypeOperators executable haskell-language-server - import: common-deps - -- configuration - , warnings - , pedantic - main-is: Main.hs - hs-source-dirs: exe - + import: + common-deps + -- configuration + , warnings + , pedantic + + main-is: Main.hs + hs-source-dirs: exe ghc-options: - -threaded -- allow user RTS overrides - -rtsopts -- disable idle GC -- increase nursery size -- Enable collection of heap statistics + -threaded + -rtsopts "-with-rtsopts=-I0 -A128M -T" -Wno-unticked-promoted-constructors + if flag(pedantic) ghc-options: -Werror - if !os(windows) && flag(dynamic) - -- We want to link against the dyn rts just like official GHC binaries do; - -- the linked rts determines how external libs are loaded dynamically by TH. - -- The standard way of doing this is via the --enable-dynamic-executables Cabal option - -- Unfortunately it doesnt' work, see https://github.com/haskell/haskell-language-server/issues/2659 - -- One can use --ghc-options=-dynamic but this gets applied to the dependencies as well, - -- which results in massive rebuilds and incompatibilities with profiling. - -- So instead we set the -dynamic flag diretly here. - ghc-options: -dynamic + if !os(windows)&& flag(dynamic) + -- We want to link against the dyn rts just like official GHC binaries do; + -- the linked rts determines how external libs are loaded dynamically by TH. + -- The standard way of doing this is via the --enable-dynamic-executables Cabal option + -- Unfortunately it doesnt' work, see https://github.com/haskell/haskell-language-server/issues/2659 + -- One can use --ghc-options=-dynamic but this gets applied to the dependencies as well, + -- which results in massive rebuilds and incompatibilities with profiling. + -- So instead we set the -dynamic flag diretly here. + ghc-options: -dynamic build-depends: - , aeson - , async - , base16-bytestring - , binary - , bytestring - , containers - , cryptohash-sha1 - , deepseq - , ghc - , ghc-boot-th - , ghcide - , hashable - , haskell-language-server - , lsp - , hie-bios - , hiedb - , lens - , regex-tdfa - , optparse-applicative - , hls-plugin-api - , lens - , mtl - , regex-tdfa - , safe-exceptions - , hls-graph - , sqlite-simple - , stm - , temporary - , transformers - , unordered-containers + aeson, + async, + base16-bytestring, + binary, + bytestring, + containers, + cryptohash-sha1, + deepseq, + ghc, + ghc-boot-th, + ghcide, + hashable, + haskell-language-server, + hie-bios, + hiedb, + hls-graph, + hls-plugin-api, + lens, + lsp, + mtl, + optparse-applicative, + regex-tdfa, + safe-exceptions, + sqlite-simple, + stm, + temporary, + transformers, + unordered-containers, default-language: Haskell2010 - default-extensions: DataKinds, TypeOperators + default-extensions: + DataKinds + TypeOperators executable haskell-language-server-wrapper - import: common-deps - , warnings - , pedantic - main-is: Wrapper.hs - hs-source-dirs: exe - other-modules: Paths_haskell_language_server - autogen-modules: Paths_haskell_language_server + import: + common-deps + , warnings + , pedantic + + main-is: Wrapper.hs + hs-source-dirs: exe + other-modules: Paths_haskell_language_server + autogen-modules: Paths_haskell_language_server ghc-options: - -threaded -- allow user RTS overrides - -rtsopts -- disable idle GC -- increase nursery size + -threaded + -rtsopts "-with-rtsopts=-I0 -A128M" build-depends: - , data-default - , ghc - , ghc-paths - , ghcide - , gitrev - , haskell-language-server - , hslogger - , hie-bios - , hls-plugin-api - , lsp - , lsp-types - , mtl - , optparse-applicative - , optparse-simple - , process - , transformers - , unliftio-core - if !os(windows) - build-depends: - unix - , containers + data-default, + ghc, + ghc-paths, + ghcide, + gitrev, + haskell-language-server, + hie-bios, + hls-plugin-api, + hslogger, + lsp, + lsp-types, + mtl, + optparse-applicative, + optparse-simple, + process, + transformers, + unliftio-core, + if !os(windows) + build-depends: + containers, + unix, default-language: Haskell2010 - test-suite func-test - import: common-deps - , warnings - , pedantic - , refactor - type: exitcode-stdio-1.0 - default-language: Haskell2010 + import: + common-deps + , warnings + , pedantic + , refactor + + type: exitcode-stdio-1.0 + default-language: Haskell2010 build-tool-depends: - haskell-language-server:haskell-language-server -any, - ghcide:ghcide-test-preprocessor -any + ghcide:ghcide-test-preprocessor, + haskell-language-server:haskell-language-server, build-depends: - , bytestring - , data-default - , deepseq - , hashable - , hspec-expectations - , lens - , lens-aeson - , ghcide - , ghcide-test-utils - , hls-test-utils ^>=1.5 - , lsp-types - , aeson - , hls-plugin-api - , lsp-test - , containers - , unordered-containers - - hs-source-dirs: test/functional test/utils - - main-is: Main.hs + aeson, + bytestring, + containers, + data-default, + deepseq, + ghcide, + ghcide-test-utils, + hashable, + hls-plugin-api, + hls-test-utils ^>=1.5, + hspec-expectations, + lens, + lens-aeson, + lsp-test, + lsp-types, + unordered-containers, + + hs-source-dirs: + test/functional + test/utils + + main-is: Main.hs other-modules: Command Completion @@ -576,82 +584,94 @@ test-suite func-test Progress Reference Symbol - TypeDefinition Test.Hls.Command Test.Hls.Flags + TypeDefinition default-extensions: OverloadedStrings ghc-options: - -threaded -rtsopts -with-rtsopts=-N + -threaded + -rtsopts + -with-rtsopts=-N --- Duplicating inclusion plugin conditions until tests are moved to their own packages + -- Duplicating inclusion plugin conditions until tests are moved to their own packages if flag(eval) cpp-options: -Dhls_eval --- formatters - if flag(floskell) && (impl(ghc < 9.2.1) || flag(ignore-plugins-ghc-bounds)) + + -- formatters + if flag(floskell)&&(impl(ghc < 9.2.1)|| flag(ignore-plugins-ghc-bounds)) cpp-options: -Dhls_floskell + if flag(fourmolu) cpp-options: -Dhls_fourmolu + if flag(ormolu) cpp-options: -Dhls_ormolu test-suite wrapper-test - import: common-deps - , warnings - , pedantic - type: exitcode-stdio-1.0 + import: + common-deps + , warnings + , pedantic + + type: exitcode-stdio-1.0 build-tool-depends: - haskell-language-server:haskell-language-server-wrapper -any, - haskell-language-server:haskell-language-server -any + haskell-language-server:haskell-language-server, + haskell-language-server:haskell-language-server-wrapper, - default-language: Haskell2010 + default-language: Haskell2010 build-depends: - process - , hls-test-utils + hls-test-utils, + process, - hs-source-dirs: test/wrapper - main-is: Main.hs + hs-source-dirs: test/wrapper + main-is: Main.hs benchmark benchmark - type: exitcode-stdio-1.0 - default-language: Haskell2010 - ghc-options: -Wall -Wno-name-shadowing -threaded - main-is: Main.hs - hs-source-dirs: bench - build-tool-depends: - ghcide-bench:ghcide-bench, - hp2pretty:hp2pretty, - implicit-hie:gen-hie - default-extensions: - BangPatterns - DeriveFunctor - DeriveGeneric - FlexibleContexts - GeneralizedNewtypeDeriving - LambdaCase - NamedFieldPuns - RecordWildCards - ScopedTypeVariables - StandaloneDeriving - TupleSections - TypeApplications - ViewPatterns + type: exitcode-stdio-1.0 + default-language: Haskell2010 + ghc-options: + -Wall + -Wno-name-shadowing + -threaded - build-depends: - aeson, - base == 4.*, - containers, - data-default, - directory, - extra, - filepath, - ghcide-bench, - haskell-language-server, - hls-plugin-api, - lens, - lens-aeson, - optparse-applicative, - shake, - shake-bench == 0.2.*, - text, - yaml + main-is: Main.hs + hs-source-dirs: bench + build-tool-depends: + ghcide-bench:ghcide-bench, + hp2pretty:hp2pretty, + implicit-hie:gen-hie, + + default-extensions: + BangPatterns + DeriveFunctor + DeriveGeneric + FlexibleContexts + GeneralizedNewtypeDeriving + LambdaCase + NamedFieldPuns + RecordWildCards + ScopedTypeVariables + StandaloneDeriving + TupleSections + TypeApplications + ViewPatterns + + build-depends: + aeson, + base >=4 && <5, + containers, + data-default, + directory, + extra, + filepath, + ghcide-bench, + haskell-language-server, + hls-plugin-api, + lens, + lens-aeson, + optparse-applicative, + shake, + shake-bench >=0.2 && <0.3, + text, + yaml, diff --git a/hie-compat/hie-compat.cabal b/hie-compat/hie-compat.cabal index 6e3d829d95e..4e06c85b783 100644 --- a/hie-compat/hie-compat.cabal +++ b/hie-compat/hie-compat.cabal @@ -1,25 +1,28 @@ -cabal-version: 1.22 -name: hie-compat -version: 0.3.1.0 -synopsis: HIE files for GHC 8.8 and other HIE file backports -license: Apache-2.0 +cabal-version: 1.22 +name: hie-compat +version: 0.3.1.0 +synopsis: HIE files for GHC 8.8 and other HIE file backports +license: Apache-2.0 description: Backports for HIE files to GHC 8.8, along with a few other backports of HIE file related fixes for ghcide. - THIS DOES NOT LET YOU READ HIE FILES WITH MISMATCHED VERSIONS OF GHC -license-file: LICENSE -author: Zubin Duggal -maintainer: zubin.duggal@gmail.com -build-type: Simple -extra-source-files: CHANGELOG.md README.md -category: Development -homepage: https://github.com/haskell/haskell-language-server/tree/master/hie-compat#readme -bug-reports: https://github.com/haskell/haskell-language-server/issues + +license-file: LICENSE +author: Zubin Duggal +maintainer: zubin.duggal@gmail.com +build-type: Simple +extra-source-files: + CHANGELOG.md + README.md + +category: Development +homepage: https://github.com/haskell/haskell-language-server/tree/master/hie-compat#readme +bug-reports: https://github.com/haskell/haskell-language-server/issues source-repository head - type: git - location: https://github.com/haskell/haskell-language-server.git + type: git + location: https://github.com/haskell/haskell-language-server.git flag ghc-lib description: build against ghc-lib instead of the ghc package @@ -27,30 +30,53 @@ flag ghc-lib manual: True library - default-language: Haskell2010 + default-language: Haskell2010 build-depends: - base < 4.18, array, bytestring, containers, directory, filepath, transformers - if flag(ghc-lib) && impl(ghc < 9) - build-depends: ghc-lib < 9.0 + array, + base <4.18, + bytestring, + containers, + directory, + filepath, + transformers + + if flag(ghc-lib)&& impl(ghc < 9) + build-depends: ghc-lib <9.0 else - build-depends: ghc >= 8.10, ghc-boot - if (impl(ghc >= 9.0) && impl(ghc < 9.1)) - ghc-options: -Wall -Wno-name-shadowing + build-depends: + ghc >=8.10, + ghc-boot + + if (impl(ghc >= 9.0)&& impl(ghc < 9.1)) + ghc-options: + -Wall + -Wno-name-shadowing else - ghc-options: -Wall -Wno-name-shadowing + ghc-options: + -Wall + -Wno-name-shadowing exposed-modules: Compat.HieAst Compat.HieBin - Compat.HieTypes Compat.HieDebug + Compat.HieTypes Compat.HieUtils - if (impl(ghc > 8.9) && impl(ghc < 8.11)) - hs-source-dirs: src-ghc810 src-reexport - if (impl(ghc >= 9.0) && impl(ghc < 9.1) || flag(ghc-lib)) - hs-source-dirs: src-ghc90 src-reexport-ghc9 - if (impl(ghc >= 9.2) && impl(ghc < 9.3)) - hs-source-dirs: src-ghc92 src-reexport-ghc9 - if (impl(ghc >= 9.4) && impl(ghc < 9.5)) + if (impl(ghc > 8.9)&& impl(ghc < 8.11)) + hs-source-dirs: + src-ghc810 + src-reexport + + if (impl(ghc >= 9.0)&& impl(ghc < 9.1)|| flag(ghc-lib)) + hs-source-dirs: + src-ghc90 + src-reexport-ghc9 + + if (impl(ghc >= 9.2)&& impl(ghc < 9.3)) + hs-source-dirs: + src-ghc92 + src-reexport-ghc9 + + if (impl(ghc >= 9.4)&& impl(ghc < 9.5)) hs-source-dirs: src-reexport-ghc92 diff --git a/hls-graph/hls-graph.cabal b/hls-graph/hls-graph.cabal index 3572550d69c..c274e6e9a3d 100644 --- a/hls-graph/hls-graph.cabal +++ b/hls-graph/hls-graph.cabal @@ -1,30 +1,27 @@ cabal-version: 2.4 -name: hls-graph -version: 1.9.0.0 -synopsis: Haskell Language Server internal graph API -description: - Please see the README on GitHub at - -homepage: https://github.com/haskell/haskell-language-server#readme -bug-reports: https://github.com/haskell/haskell-language-server/issues -license: Apache-2.0 -license-file: LICENSE -author: The Haskell IDE Team -maintainer: The Haskell IDE Team -copyright: The Haskell IDE Team -category: Development -build-type: Simple +name: hls-graph +version: 1.9.0.0 +synopsis: Haskell Language Server internal graph API +description: Please see the README on GitHub at +homepage: https://github.com/haskell/haskell-language-server#readme +bug-reports: https://github.com/haskell/haskell-language-server/issues +license: Apache-2.0 +license-file: LICENSE +author: The Haskell IDE Team +maintainer: The Haskell IDE Team +copyright: The Haskell IDE Team +category: Development +build-type: Simple data-files: - html/profile.html - html/shake.js + html/profile.html + html/shake.js -extra-source-files: - README.md +extra-source-files: README.md flag pedantic description: Enable -Werror - default: False - manual: True + default: False + manual: True flag embed-files default: False @@ -37,7 +34,7 @@ flag stm-stats description: Collect STM transaction stats source-repository head - type: git + type: git location: https://github.com/haskell/haskell-language-server library @@ -46,74 +43,75 @@ library Development.IDE.Graph Development.IDE.Graph.Classes Development.IDE.Graph.Database - Development.IDE.Graph.Rule - Development.IDE.Graph.KeyMap - Development.IDE.Graph.KeySet Development.IDE.Graph.Internal.Action - Development.IDE.Graph.Internal.Options - Development.IDE.Graph.Internal.Rules Development.IDE.Graph.Internal.Database + Development.IDE.Graph.Internal.Options Development.IDE.Graph.Internal.Paths Development.IDE.Graph.Internal.Profile + Development.IDE.Graph.Internal.Rules Development.IDE.Graph.Internal.Types + Development.IDE.Graph.KeyMap + Development.IDE.Graph.KeySet + Development.IDE.Graph.Rule Paths_hls_graph - autogen-modules: Paths_hls_graph - - hs-source-dirs: src + autogen-modules: Paths_hls_graph + hs-source-dirs: src build-depends: - , aeson - , async >= 2.0 - , base >=4.12 && <5 - , bytestring - , containers - , deepseq - , directory - , exceptions - , extra - , filepath - , focus - , hashable - , js-dgtable - , js-flot - , js-jquery - , list-t - , stm - , stm-containers - , time - , transformers - , unliftio - , unordered-containers - , text + aeson, + async >=2.0, + base >=4.12 && <5, + bytestring, + containers, + deepseq, + directory, + exceptions, + extra, + filepath, + focus, + hashable, + js-dgtable, + js-flot, + js-jquery, + list-t, + stm, + stm-containers, + text, + time, + transformers, + unliftio, + unordered-containers, if flag(embed-files) - cpp-options: -DFILE_EMBED - build-depends: - file-embed >= 0.0.11, - template-haskell + cpp-options: -DFILE_EMBED + build-depends: + file-embed >=0.0.11, + template-haskell, + if flag(stm-stats) - cpp-options: -DSTM_STATS - if impl(ghc >= 9) - ghc-options: -Wunused-packages + cpp-options: -DSTM_STATS + if impl(ghc >= 9) + ghc-options: -Wunused-packages ghc-options: - -Wall -Wredundant-constraints -Wno-name-shadowing + -Wall + -Wredundant-constraints + -Wno-name-shadowing -Wno-unticked-promoted-constructors if flag(pedantic) ghc-options: -Werror - - default-language: Haskell2010 + default-language: Haskell2010 default-extensions: DataKinds KindSignatures TypeOperators test-suite tests - type: exitcode-stdio-1.0 + type: exitcode-stdio-1.0 default-language: Haskell2010 - hs-source-dirs: test - main-is: Main.hs + hs-source-dirs: test + main-is: Main.hs other-modules: ActionSpec DatabaseSpec @@ -121,23 +119,30 @@ test-suite tests RulesSpec Spec - ghc-options: -threaded -rtsopts -with-rtsopts=-N -fno-ignore-asserts + ghc-options: + -threaded + -rtsopts + -with-rtsopts=-N + -fno-ignore-asserts + build-depends: - , base - , containers - , directory - , extra - , filepath - , hls-graph - , hspec - , stm - , stm-containers - , tasty - , tasty-hspec - , tasty-hunit - , tasty-rerun - , text - , unordered-containers - build-tool-depends: hspec-discover:hspec-discover -any + base, + containers, + directory, + extra, + filepath, + hls-graph, + hspec, + stm, + stm-containers, + tasty, + tasty-hspec, + tasty-hunit, + tasty-rerun, + text, + unordered-containers, + + build-tool-depends: hspec-discover:hspec-discover + if impl(ghc >= 9) - ghc-options: -Wunused-packages + ghc-options: -Wunused-packages diff --git a/hls-plugin-api/hls-plugin-api.cabal b/hls-plugin-api/hls-plugin-api.cabal index c0be21978d6..11dc12447d0 100644 --- a/hls-plugin-api/hls-plugin-api.cabal +++ b/hls-plugin-api/hls-plugin-api.cabal @@ -1,35 +1,33 @@ cabal-version: 2.4 -name: hls-plugin-api -version: 1.6.0.0 -synopsis: Haskell Language Server API for plugin communication -description: - Please see the README on GitHub at - -homepage: https://github.com/haskell/haskell-language-server#readme -bug-reports: https://github.com/haskell/haskell-language-server/issues -license: Apache-2.0 -license-file: LICENSE -author: The Haskell IDE Team -maintainer: alan.zimm@gmail.com -copyright: The Haskell IDE Team -category: Development -build-type: Simple +name: hls-plugin-api +version: 1.6.0.0 +synopsis: Haskell Language Server API for plugin communication +description: Please see the README on GitHub at +homepage: https://github.com/haskell/haskell-language-server#readme +bug-reports: https://github.com/haskell/haskell-language-server/issues +license: Apache-2.0 +license-file: LICENSE +author: The Haskell IDE Team +maintainer: alan.zimm@gmail.com +copyright: The Haskell IDE Team +category: Development +build-type: Simple flag pedantic description: Enable -Werror - default: False - manual: True + default: False + manual: True -- This flag can be used to avoid the dependency on hw-fingertree. -- We can set this temporarily if we have problems building hw-fingertree -- for a new version of GHC. flag use-fingertree description: Use fingertree implementation of RangeMap - default: True - manual: False + default: True + manual: False source-repository head - type: git + type: git location: https://github.com/haskell/haskell-language-server library @@ -41,90 +39,98 @@ library Ide.PluginUtils Ide.Types - hs-source-dirs: src + hs-source-dirs: src build-depends: - , aeson - , base >=4.12 && <5 - , containers - , data-default - , dependent-map - , dependent-sum >=0.7 - , Diff ^>=0.4.0 - , dlist - , extra - , filepath - , ghc - , hashable - , hls-graph ^>= 1.9 - , lens - , lens-aeson - , lsp ^>=1.6.0.0 - , opentelemetry >=0.4 - , optparse-applicative - , regex-tdfa >=1.3.1.0 - , text - , transformers - , unordered-containers - , megaparsec > 9 + Diff ^>=0.4.0, + aeson, + base >=4.12 && <5, + containers, + data-default, + dependent-map, + dependent-sum >=0.7, + dlist, + extra, + filepath, + ghc, + hashable, + hls-graph ^>=1.9, + lens, + lens-aeson, + lsp ^>=1.6.0.0, + megaparsec >9, + opentelemetry >=0.4, + optparse-applicative, + regex-tdfa >=1.3.1.0, + text, + transformers, + unordered-containers, if os(windows) build-depends: Win32 - else build-depends: unix ghc-options: - -Wall -Wredundant-constraints -Wno-name-shadowing + -Wall + -Wredundant-constraints + -Wno-name-shadowing -Wno-unticked-promoted-constructors if flag(pedantic) ghc-options: -Werror + if impl(ghc >= 9) ghc-options: -Wunused-packages if flag(use-fingertree) cpp-options: -DUSE_FINGERTREE build-depends: hw-fingertree - - default-language: Haskell2010 + default-language: Haskell2010 default-extensions: DataKinds KindSignatures TypeOperators test-suite tests - type: exitcode-stdio-1.0 + type: exitcode-stdio-1.0 default-language: Haskell2010 - hs-source-dirs: test - main-is: Main.hs - ghc-options: -threaded -rtsopts -with-rtsopts=-N - other-modules: Ide.PluginUtilsTest + hs-source-dirs: test + main-is: Main.hs + ghc-options: + -threaded + -rtsopts + -with-rtsopts=-N + + other-modules: Ide.PluginUtilsTest build-depends: - base - , hls-plugin-api - , tasty - , tasty-hunit - , tasty-rerun - , tasty-quickcheck - , text - , lsp-types - , containers + base, + containers, + hls-plugin-api, + lsp-types, + tasty, + tasty-hunit, + tasty-quickcheck, + tasty-rerun, + text, benchmark rangemap-benchmark -- Benchmark doesn't make sense if fingertree implementation -- is not used. if !flag(use-fingertree) buildable: False - type: exitcode-stdio-1.0 + type: exitcode-stdio-1.0 default-language: Haskell2010 - hs-source-dirs: bench - main-is: Main.hs - ghc-options: -threaded -Wall + hs-source-dirs: bench + main-is: Main.hs + ghc-options: + -threaded + -Wall + build-depends: - base - , hls-plugin-api - , lsp-types - , criterion - , random - , random-fu - , deepseq + base, + criterion, + deepseq, + hls-plugin-api, + lsp-types, + random, + random-fu, diff --git a/hls-test-utils/hls-test-utils.cabal b/hls-test-utils/hls-test-utils.cabal index 3933ca985d0..48088a2a9fe 100644 --- a/hls-test-utils/hls-test-utils.cabal +++ b/hls-test-utils/hls-test-utils.cabal @@ -1,27 +1,25 @@ cabal-version: 2.4 -name: hls-test-utils -version: 1.5.0.0 -synopsis: Utilities used in the tests of Haskell Language Server -description: - Please see the README on GitHub at - -homepage: https://github.com/haskell/haskell-language-server#readme -bug-reports: https://github.com/haskell/haskell-language-server/issues -license: Apache-2.0 -license-file: LICENSE -author: The Haskell IDE Team -maintainer: alan.zimm@gmail.com -copyright: The Haskell IDE Team -category: Development -build-type: Simple +name: hls-test-utils +version: 1.5.0.0 +synopsis: Utilities used in the tests of Haskell Language Server +description: Please see the README on GitHub at +homepage: https://github.com/haskell/haskell-language-server#readme +bug-reports: https://github.com/haskell/haskell-language-server/issues +license: Apache-2.0 +license-file: LICENSE +author: The Haskell IDE Team +maintainer: alan.zimm@gmail.com +copyright: The Haskell IDE Team +category: Development +build-type: Simple flag pedantic description: Enable -Werror - default: False - manual: True + default: False + manual: True source-repository head - type: git + type: git location: https://github.com/haskell/haskell-language-server library @@ -29,37 +27,36 @@ library Test.Hls Test.Hls.Util - hs-source-dirs: src + hs-source-dirs: src build-depends: - , aeson - , async - , base >=4.12 && <5 - , blaze-markup - , bytestring - , containers - , data-default - , directory - , extra - , filepath - , ghcide ^>=1.9 - , hls-graph - , hls-plugin-api ^>=1.6 - , lens - , lsp ^>=1.6.0.0 - , lsp-test ^>=0.14 - , lsp-types ^>=1.6.0.0 - , tasty - , tasty-expected-failure - , tasty-golden - , tasty-hunit - , tasty-rerun - , temporary - , text - , unordered-containers - - ghc-options: -Wall + aeson, + async, + base >=4.12 && <5, + blaze-markup, + bytestring, + containers, + data-default, + directory, + extra, + filepath, + ghcide ^>=1.9, + hls-graph, + hls-plugin-api ^>=1.6, + lens, + lsp ^>=1.6.0.0, + lsp-test ^>=0.14, + lsp-types ^>=1.6.0.0, + tasty, + tasty-expected-failure, + tasty-golden, + tasty-hunit, + tasty-rerun, + temporary, + text, + unordered-containers, + + ghc-options: -Wall if flag(pedantic) ghc-options: -Werror - default-language: Haskell2010