mirror of
https://github.com/haskell/ghcide.git
synced 2024-09-11 05:36:09 +03:00
* Update to hie-bios 0.6.1 * Obtain the GHC libdir at runtime using hie-bios This replaces hardcoding the GHC libdir path with ghc-paths and instead gets it at runtime through the hie-bios cradle. This means that the ghcide binary should be a bit more distributable now, since it won't rely on paths baked at compile time that are local to the machine it was compiled on. And we also no longer need the ghcLibCheck since we are comparing the coompiled and runtime versions with the installationCheck (ghcVersionChecker) Co-authored-by: Fendor <power.walross@gmail.com>
393 lines
10 KiB
Plaintext
393 lines
10 KiB
Plaintext
cabal-version: 1.20
|
|
build-type: Simple
|
|
category: Development
|
|
name: ghcide
|
|
version: 0.2.0
|
|
license: Apache-2.0
|
|
license-file: LICENSE
|
|
author: Digital Asset
|
|
maintainer: Digital Asset
|
|
copyright: Digital Asset 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/digital-asset/ghcide#readme
|
|
bug-reports: https://github.com/digital-asset/ghcide/issues
|
|
tested-with: GHC==8.6.5
|
|
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/digital-asset/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-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
|
|
if os(windows)
|
|
build-depends:
|
|
Win32
|
|
else
|
|
build-depends:
|
|
unix
|
|
c-sources:
|
|
cbits/getmodtime.c
|
|
|
|
default-extensions:
|
|
BangPatterns
|
|
DeriveFunctor
|
|
DeriveGeneric
|
|
GeneralizedNewtypeDeriving
|
|
LambdaCase
|
|
NamedFieldPuns
|
|
OverloadedStrings
|
|
RecordWildCards
|
|
ScopedTypeVariables
|
|
StandaloneDeriving
|
|
TupleSections
|
|
TypeApplications
|
|
ViewPatterns
|
|
|
|
hs-source-dirs:
|
|
src
|
|
include-dirs:
|
|
include
|
|
exposed-modules:
|
|
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.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.Location
|
|
Development.IDE.Types.Logger
|
|
Development.IDE.Types.Options
|
|
Development.IDE.Plugin
|
|
Development.IDE.Plugin.Completions
|
|
Development.IDE.Plugin.CodeAction
|
|
other-modules:
|
|
Development.IDE.Core.Compile
|
|
Development.IDE.Core.Preprocessor
|
|
Development.IDE.Core.FileExists
|
|
Development.IDE.GHC.Compat
|
|
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
|
|
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
|
|
|
|
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
|
|
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
|
|
-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:
|
|
time,
|
|
async,
|
|
hslogger,
|
|
aeson,
|
|
base == 4.*,
|
|
binary,
|
|
base16-bytestring >=0.1.1 && <0.2,
|
|
bytestring,
|
|
containers,
|
|
cryptohash-sha1 >=0.11.100 && <0.12,
|
|
data-default,
|
|
deepseq,
|
|
directory,
|
|
extra,
|
|
filepath,
|
|
ghc-check >= 0.5.0.1 && < 0.6,
|
|
ghc-paths,
|
|
ghc,
|
|
gitrev,
|
|
hashable,
|
|
haskell-lsp,
|
|
haskell-lsp-types,
|
|
hie-bios >= 0.6.0 && < 0.7,
|
|
ghcide,
|
|
optparse-applicative,
|
|
safe-exceptions,
|
|
shake,
|
|
text,
|
|
unordered-containers
|
|
other-modules:
|
|
Arguments
|
|
Paths_ghcide
|
|
|
|
default-extensions:
|
|
BangPatterns
|
|
DeriveFunctor
|
|
DeriveGeneric
|
|
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,
|
|
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.1 && < 0.12,
|
|
optparse-applicative,
|
|
process,
|
|
QuickCheck,
|
|
quickcheck-instances,
|
|
rope-utf16-splay,
|
|
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
|
|
main-is: Main.hs
|
|
other-modules:
|
|
Development.IDE.Test
|
|
Development.IDE.Test.Runfiles
|
|
Experiments
|
|
default-extensions:
|
|
BangPatterns
|
|
DeriveFunctor
|
|
DeriveGeneric
|
|
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
|
|
GeneralizedNewtypeDeriving
|
|
LambdaCase
|
|
NamedFieldPuns
|
|
OverloadedStrings
|
|
RecordWildCards
|
|
ScopedTypeVariables
|
|
StandaloneDeriving
|
|
TupleSections
|
|
TypeApplications
|
|
ViewPatterns
|