mirror of
https://github.com/haskell/ghcide.git
synced 2024-12-03 05:23:25 +03:00
78d4031f7c
* Add a custom prefix to command IDs A client can run more than one instance of ghcide. Some clients have a global command registry, and all commands must be unique in that registry. So to make the command ids unique, prefix them with the ghcide server process id, as is done in haskell-ide-engine. * Use same command naming scheme as in haskell-language-server To ease interoperability * Use makeLspCommandId for prefixing commands This puts all the prefixing logic in one place. * Add hlint exception for CPP in Development.IDE.Compat * Bring in Win32 dependency for windows build
294 lines
7.8 KiB
Plaintext
294 lines
7.8 KiB
Plaintext
cabal-version: 1.20
|
|
build-type: Simple
|
|
category: Development
|
|
name: ghcide
|
|
version: 0.1.0
|
|
license: Apache-2.0
|
|
license-file: LICENSE
|
|
author: Digital Asset
|
|
maintainer: Digital Asset
|
|
copyright: Digital Asset 2018-2019
|
|
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/GotoHover.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.21.*,
|
|
haskell-lsp == 0.21.*,
|
|
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) || flag(ghc-lib)
|
|
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.*
|
|
|
|
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:
|
|
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.1.0.3,
|
|
ghc-paths,
|
|
ghc,
|
|
gitrev,
|
|
hashable,
|
|
haskell-lsp,
|
|
haskell-lsp-types,
|
|
hie-bios >= 0.4.0 && < 0.5,
|
|
ghcide,
|
|
optparse-applicative,
|
|
shake,
|
|
text,
|
|
unordered-containers
|
|
other-modules:
|
|
Arguments
|
|
Paths_ghcide
|
|
Rules
|
|
RuleTypes
|
|
Util
|
|
|
|
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.8,
|
|
parser-combinators,
|
|
QuickCheck,
|
|
quickcheck-instances,
|
|
rope-utf16-splay,
|
|
shake,
|
|
tasty,
|
|
tasty-expected-failure,
|
|
tasty-hunit,
|
|
tasty-quickcheck,
|
|
tasty-rerun,
|
|
text
|
|
hs-source-dirs: test/cabal test/exe test/src
|
|
include-dirs: include
|
|
ghc-options: -threaded -Wall -Wno-name-shadowing
|
|
main-is: Main.hs
|
|
other-modules:
|
|
Development.IDE.Test
|
|
Development.IDE.Test.Runfiles
|
|
default-extensions:
|
|
BangPatterns
|
|
DeriveFunctor
|
|
DeriveGeneric
|
|
GeneralizedNewtypeDeriving
|
|
LambdaCase
|
|
NamedFieldPuns
|
|
OverloadedStrings
|
|
RecordWildCards
|
|
ScopedTypeVariables
|
|
StandaloneDeriving
|
|
TupleSections
|
|
TypeApplications
|
|
ViewPatterns
|