cabal-version: 1.20 build-type: Simple category: Development name: ghcide version: 0.4.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/ghcide#readme bug-reports: https://github.com/haskell/ghcide/issues tested-with: GHC>=8.4.4 extra-source-files: include/ghc-api-version.h README.md CHANGELOG.md test/data/hover/*.hs test/data/multi/cabal.project test/data/multi/hie.yaml test/data/multi/a/a.cabal test/data/multi/a/*.hs test/data/multi/b/b.cabal test/data/multi/b/*.hs source-repository head type: git location: https://github.com/haskell/ghcide.git flag ghc-lib description: build against ghc-lib instead of the ghc package default: False manual: True library default-language: Haskell2010 build-depends: aeson, array, async, base == 4.*, binary, bytestring, containers, data-default, deepseq, directory, extra, fuzzy, filepath, haddock-library >= 1.8, hashable, haskell-lsp-types == 0.22.*, haskell-lsp == 0.22.*, mtl, network-uri, prettyprinter-ansi-terminal, prettyprinter-ansi-terminal, prettyprinter, regex-tdfa >= 1.3.1.0, rope-utf16-splay, safe, safe-exceptions, shake >= 0.18.4, sorted-list, stm, syb, text, time, transformers, unordered-containers >= 0.2.10.0, utf8-string, hslogger if flag(ghc-lib) build-depends: ghc-lib >= 8.8, ghc-lib-parser >= 8.8 cpp-options: -DGHC_LIB else build-depends: ghc-boot-th, ghc-boot, ghc >= 8.4, -- These dependencies are used by Development.IDE.Session and are -- Haskell specific. So don't use them when building with -fghc-lib! ghc-check >=0.5.0.1, ghc-paths, cryptohash-sha1 >=0.11.100 && <0.12, hie-bios >= 0.7.1 && < 0.8.0, implicit-hie-cradle >= 0.2.0.0 && < 0.3, base16-bytestring >=0.1.1 && <0.2 if os(windows) build-depends: Win32 else build-depends: unix c-sources: cbits/getmodtime.c default-extensions: BangPatterns DeriveFunctor DeriveGeneric FlexibleContexts GeneralizedNewtypeDeriving LambdaCase NamedFieldPuns OverloadedStrings RecordWildCards ScopedTypeVariables StandaloneDeriving TupleSections TypeApplications ViewPatterns hs-source-dirs: src include-dirs: include exposed-modules: Development.IDE Development.IDE.Compat Development.IDE.Core.Debouncer Development.IDE.Core.FileStore Development.IDE.Core.IdeConfiguration Development.IDE.Core.OfInterest Development.IDE.Core.PositionMapping Development.IDE.Core.Rules Development.IDE.Core.RuleTypes Development.IDE.Core.Service Development.IDE.Core.Shake Development.IDE.GHC.Compat Development.IDE.GHC.Error Development.IDE.GHC.Util Development.IDE.Import.DependencyInformation Development.IDE.LSP.HoverDefinition Development.IDE.LSP.LanguageServer Development.IDE.LSP.Outline Development.IDE.LSP.Protocol Development.IDE.LSP.Server Development.IDE.Spans.Common Development.IDE.Types.Diagnostics Development.IDE.Types.Exports Development.IDE.Types.Location Development.IDE.Types.Logger Development.IDE.Types.Options Development.IDE.Plugin Development.IDE.Plugin.Completions Development.IDE.Plugin.CodeAction Development.IDE.Plugin.Test -- Unfortunately, we cannot use loadSession with ghc-lib since hie-bios uses -- the real GHC library and the types are incompatible. Furthermore, when -- building with ghc-lib we need to make this Haskell agnostic, so no -- hie-bios! -- We also put these modules into a separate hs-source-dirs so we can avoid -- compiling them at all if ghc-lib is not set if !flag(ghc-lib) hs-source-dirs: session-loader exposed-modules: Development.IDE.Session other-modules: Development.IDE.Session.VersionCheck other-modules: Development.IDE.Core.Compile Development.IDE.Core.Preprocessor Development.IDE.Core.FileExists Development.IDE.GHC.CPP Development.IDE.GHC.Orphans Development.IDE.GHC.Warnings Development.IDE.GHC.WithDynFlags Development.IDE.Import.FindImports Development.IDE.LSP.Notifications Development.IDE.Spans.AtPoint Development.IDE.Spans.Calculate Development.IDE.Spans.Documentation Development.IDE.Spans.Type Development.IDE.Plugin.CodeAction.PositionIndexed Development.IDE.Plugin.CodeAction.Rules Development.IDE.Plugin.CodeAction.RuleTypes Development.IDE.Plugin.Completions.Logic Development.IDE.Plugin.Completions.Types Development.IDE.Types.Action if (impl(ghc > 8.5) && impl(ghc < 8.7)) && !flag(ghc-lib) hs-source-dirs: src-ghc86 other-modules: Development.IDE.GHC.HieAst Development.IDE.GHC.HieBin Development.IDE.GHC.HieTypes Development.IDE.GHC.HieDebug Development.IDE.GHC.HieUtils if (impl(ghc > 8.7) && impl(ghc < 8.10)) || flag(ghc-lib) hs-source-dirs: src-ghc88 other-modules: Development.IDE.GHC.HieAst Development.IDE.GHC.HieBin if (impl(ghc > 8.9)) hs-source-dirs: src-ghc810 other-modules: Development.IDE.GHC.HieAst Development.IDE.GHC.HieBin ghc-options: -Wall -Wno-name-shadowing -Wincomplete-uni-patterns 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.* benchmark benchHist type: exitcode-stdio-1.0 default-language: Haskell2010 ghc-options: -Wall -Wno-name-shadowing -threaded main-is: bench/hist/Main.hs build-tool-depends: ghcide:ghcide, ghcide:ghcide-bench default-extensions: BangPatterns DeriveFunctor DeriveGeneric FlexibleContexts GeneralizedNewtypeDeriving LambdaCase NamedFieldPuns OverloadedStrings RecordWildCards ScopedTypeVariables StandaloneDeriving TupleSections TypeApplications ViewPatterns build-depends: aeson, base == 4.*, Chart, Chart-diagrams, diagrams, diagrams-svg, directory, extra >= 1.7.2, filepath, shake, text, yaml executable ghcide if flag(ghc-lib) buildable: False 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 -- disable parallel GC -- increase nursery size "-with-rtsopts=-I0 -qg -A128M" main-is: Main.hs build-depends: aeson, base == 4.*, data-default, directory, extra, filepath, gitrev, hashable, haskell-lsp, haskell-lsp-types, hie-bios, ghcide, lens, optparse-applicative, text, unordered-containers other-modules: Arguments Paths_ghcide default-extensions: BangPatterns DeriveFunctor DeriveGeneric FlexibleContexts GeneralizedNewtypeDeriving LambdaCase NamedFieldPuns OverloadedStrings RecordWildCards ScopedTypeVariables StandaloneDeriving TupleSections TypeApplications ViewPatterns test-suite ghcide-tests if flag(ghc-lib) buildable: False type: exitcode-stdio-1.0 default-language: Haskell2010 build-tool-depends: ghcide:ghcide, ghcide:ghcide-test-preprocessor build-depends: aeson, base, binary, bytestring, containers, directory, extra, filepath, -------------------------------------------------------------- -- The MIN_GHC_API_VERSION 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_GHC_API_VERSION. Maybe a -- better solution can be found, but this is a quick solution -- which works for now. ghc, -------------------------------------------------------------- ghcide, ghc-typelits-knownnat, haddock-library, haskell-lsp, haskell-lsp-types, network-uri, lens, lsp-test >= 0.11.0.5 && < 0.12, optparse-applicative, process, QuickCheck, quickcheck-instances, rope-utf16-splay, safe, safe-exceptions, shake, tasty, tasty-expected-failure, tasty-hunit, tasty-quickcheck, tasty-rerun, text hs-source-dirs: test/cabal test/exe test/src bench/lib include-dirs: include ghc-options: -threaded -Wall -Wno-name-shadowing -O0 main-is: Main.hs other-modules: Development.IDE.Test Development.IDE.Test.Runfiles Experiments default-extensions: BangPatterns DeriveFunctor DeriveGeneric FlexibleContexts GeneralizedNewtypeDeriving LambdaCase NamedFieldPuns OverloadedStrings RecordWildCards ScopedTypeVariables StandaloneDeriving TupleSections TypeApplications ViewPatterns executable ghcide-bench default-language: Haskell2010 build-tool-depends: ghcide:ghcide build-depends: aeson, base, bytestring, containers, directory, extra, filepath, ghcide, lsp-test >= 0.11.0.2 && < 0.12, optparse-applicative, process, safe-exceptions hs-source-dirs: bench/lib bench/exe include-dirs: include ghc-options: -threaded -Wall -Wno-name-shadowing main-is: Main.hs other-modules: Experiments default-extensions: BangPatterns DeriveFunctor DeriveGeneric FlexibleContexts GeneralizedNewtypeDeriving LambdaCase NamedFieldPuns OverloadedStrings RecordWildCards ScopedTypeVariables StandaloneDeriving TupleSections TypeApplications ViewPatterns