cabal-version: 3.0 build-type: Simple category: Development name: ghcide version: 2.6.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 ==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 flag ekg description: Enable EKG monitoring of the build graph and other metrics on port 8999 default: False manual: True flag pedantic description: Enable -Werror default: False manual: True library default-language: Haskell2010 build-depends: , aeson , 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 , Diff ^>=0.4.0 , directory , dlist , enummapset , exceptions , extra >=1.7.14 , filepath , fingertree , focus >=1.0.3.2 , ghc >=9.0 , ghc-boot , ghc-boot-th , ghc-check >=0.5.0.8 , ghc-paths , ghc-trace-events , Glob , haddock-library >=1.8 && <1.12 , hashable , hie-bios ==0.13.1 , hie-compat ^>=0.3.0.0 , hiedb ^>= 0.5.0.1 , hls-graph == 2.6.0.0 , hls-plugin-api == 2.6.0.0 , implicit-hie >= 0.1.4.0 && < 0.1.5 , lens , list-t , lsp ^>=2.3.0.0 , lsp-types ^>=2.1.0.0 , mtl , opentelemetry >=0.6.1 , optparse-applicative , parallel , prettyprinter >=1.7 , prettyprinter-ansi-terminal , random , regex-tdfa >=1.3.1.0 , row-types , 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.PluginUtils 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.CmdLine 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.Session.Diagnostics Development.IDE.Session.Implicit 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.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 -Wincomplete-uni-patterns -Wno-unticked-promoted-constructors -Wunused-packages -fno-ignore-asserts if flag(pedantic) -- We eventually want to build with Werror fully, but we haven't -- finished purging the warnings, so some are set to not be errors -- for now ghc-options: -Werror -Wwarn=unused-packages -Wwarn=unrecognised-pragmas -Wwarn=dodgy-imports -Wwarn=missing-signatures -Wwarn=duplicate-exports -Wwarn=dodgy-exports -Wwarn=incomplete-patterns -Wwarn=overlapping-patterns -Wwarn=incomplete-record-updates -- ambiguous-fields is only understood by GHC >= 9.2, so we only disable it -- then. The above comment goes for here too -- this should be understood to -- be temporary until we can remove these warnings. if (impl(ghc >=9.2) && flag(pedantic)) ghc-options: -Wwarn=ambiguous-fields if flag(ekg) build-depends: , ekg-core , ekg-wai cpp-options: -DMONITORING_EKG flag test-exe 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 && <5 if !flag(test-exe) buildable: False flag executable 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 -rtsopts "-with-rtsopts=-I0 -A128M -T" -- allow user RTS overrides -- disable idle GC -- increase nursery size -- Enable collection of heap statistics 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: , 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 build-depends: , aeson , async , base , containers , data-default , directory , enummapset , extra , filepath , fuzzy , ghc , ghcide , hls-plugin-api , lens , list-t , lsp , lsp-test ^>=0.16.0.0 , lsp-types , monoid-subclasses , mtl , network-uri , QuickCheck , random , regex-tdfa ^>=1.3.1 , row-types , shake , sqlite-simple , stm , stm-containers , tasty , tasty-expected-failure , tasty-hunit >=0.10 , tasty-quickcheck , tasty-rerun , text , text-rope , unordered-containers -------------------------------------------------------------- -- 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. -------------------------------------------------------------- if impl(ghc <9.2) build-depends: , record-dot-preprocessor , record-hasfield if impl(ghc <9.3) build-depends: ghc-typelits-knownnat hs-source-dirs: test/cabal test/exe test/src ghc-options: -threaded -Wall -Wno-name-shadowing -O0 -Wno-unticked-promoted-constructors -Wunused-packages main-is: Main.hs other-modules: AsyncTests BootTests ClientSettingsTests CodeLensTests CompletionTests CPPTests CradleTests DependentFileTest Development.IDE.Test Development.IDE.Test.Diagnostic Development.IDE.Test.Runfiles DiagnosticTests ExceptionTests FindDefinitionAndHoverTests FuzzySearch GarbageCollectionTests HaddockTests HieDbRetry HighlightTests IfaceTests InitializeResponseTests LogType NonLspCommandLine OpenCloseTest OutlineTests PluginParsedResultTests PluginSimpleTests PositionMappingTests PreprocessorTests Progress ReferenceTests RootUriTests SafeTests SymlinkTests TestUtils THTests UnitTests WatchedFileTests -- Tests that have been pulled out of the main file default-extensions: BangPatterns DeriveFunctor DeriveGeneric FlexibleContexts GeneralizedNewtypeDeriving LambdaCase NamedFieldPuns OverloadedStrings RecordWildCards ScopedTypeVariables StandaloneDeriving TupleSections TypeApplications ViewPatterns