mirror of
https://github.com/haskell/ghcide.git
synced 2024-11-26 12:25:25 +03:00
bd51ad0a63
* [bench-hist] save messages to log file And fix the commitid rule to always rerun the git query * Do not build benchHist by default Hopefully avoiding the additional dependencies for charts * Simplify with FileStdout * Add a flag for bench-hist Could benchHist be a benchmark instead of an executable, removing the need for this flag? Almost. `stack bench` fails because `benchHist` cannot find `ghcide-bench` in the path. It seems like a bad idea to have a benchmark that fails out of the box * Turn benchHist into a benchmark and ghcide-bench into an exe This works out nicely because: 1. benchHist already runs ghcide-bench, 2. benchHist has additional deps, but ghcide-bench does not. (benchmark deps don't get built by default) 3. This is the only way I've found to get ghcide-bench in the PATH for benchHist * Remove redundant dep on applicative-combinators * Bump versions in stack-ghc-lib.yaml * update lower bounds for extra in benchHist executable * Update README guideline on benchmarks * [benchHist] Fix the commitid rule to always rerun the git query * fix caps
384 lines
10 KiB
Plaintext
384 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.7) && impl(ghc < 8.10)) || flag(ghc-lib)
|
|
hs-source-dirs: src-ghc88
|
|
other-modules:
|
|
Development.IDE.GHC.HieAst
|
|
if (impl(ghc > 8.9))
|
|
hs-source-dirs: src-ghc810
|
|
other-modules:
|
|
Development.IDE.GHC.HieAst
|
|
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.5.0 && < 0.6,
|
|
ghcide,
|
|
optparse-applicative,
|
|
safe-exceptions,
|
|
shake,
|
|
text,
|
|
unordered-containers
|
|
other-modules:
|
|
Utils
|
|
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
|