mirror of
https://github.com/haskell/haskell-language-server.git
synced 2024-11-10 15:14:48 +03:00
443 lines
9.9 KiB
Plaintext
443 lines
9.9 KiB
Plaintext
cabal-version: 2.2
|
|
category: Development
|
|
name: haskell-language-server
|
|
version: 0.8.0.0
|
|
synopsis: LSP server for GHC
|
|
description:
|
|
Please see the README on GitHub at <https://github.com/haskell/haskell-language-server#readme>
|
|
|
|
homepage: https://github.com/haskell/haskell-language-server#readme
|
|
bug-reports: https://github.com/haskell/haskell-language-server/issues
|
|
author: Alan Zimmerman
|
|
maintainer: alan.zimm@gmail.com
|
|
copyright: Alan Zimmerman
|
|
license: Apache-2.0
|
|
license-file: LICENSE
|
|
build-type: Simple
|
|
extra-source-files:
|
|
README.md
|
|
ChangeLog.md
|
|
include/ghc-api-version.h
|
|
|
|
flag agpl
|
|
description: Enable AGPL dependencies
|
|
default: True
|
|
manual: True
|
|
|
|
flag pedantic
|
|
description: Enable -Werror
|
|
default: False
|
|
manual: True
|
|
|
|
source-repository head
|
|
type: git
|
|
location: https://github.com/haskell/haskell-language-server
|
|
|
|
common agpl
|
|
if flag(agpl)
|
|
cpp-options: -DAGPL
|
|
|
|
common common-deps
|
|
build-depends:
|
|
, base >=4.12 && <5
|
|
, directory
|
|
, extra
|
|
, filepath
|
|
, text
|
|
|
|
library
|
|
import: agpl, common-deps
|
|
exposed-modules:
|
|
Ide.Arguments
|
|
Ide.Main
|
|
Ide.Version
|
|
|
|
other-modules: Paths_haskell_language_server
|
|
autogen-modules: Paths_haskell_language_server
|
|
hs-source-dirs: src
|
|
build-depends:
|
|
, containers
|
|
, data-default
|
|
, ghc
|
|
, ghcide >=0.7
|
|
, gitrev
|
|
, haskell-lsp ^>=0.22
|
|
, hls-plugin-api >=0.6
|
|
, hslogger
|
|
, optparse-applicative
|
|
, optparse-simple
|
|
, process
|
|
, shake
|
|
, unordered-containers
|
|
|
|
ghc-options: -Wall -Wredundant-constraints -Wno-name-shadowing
|
|
|
|
if flag(pedantic)
|
|
ghc-options: -Werror
|
|
|
|
default-language: Haskell2010
|
|
|
|
flag all-plugins
|
|
description: Enable all non formatter plugins
|
|
default: True
|
|
manual: True
|
|
|
|
flag all-formatters
|
|
description: Enable all fomatters
|
|
default: True
|
|
manual: True
|
|
|
|
flag class
|
|
description: Enable class plugin
|
|
default: False
|
|
manual: True
|
|
|
|
flag eval
|
|
description: Enable eval plugin
|
|
default: False
|
|
manual: True
|
|
|
|
flag importLens
|
|
description: Enable importLens plugin
|
|
default: False
|
|
manual: True
|
|
|
|
flag retrie
|
|
description: Enable retrie plugin
|
|
default: False
|
|
manual: True
|
|
|
|
flag tactic
|
|
description: Enable tactic plugin
|
|
default: False
|
|
manual: True
|
|
|
|
flag hlint
|
|
description: Enable hlint plugin
|
|
default: False
|
|
manual: True
|
|
|
|
flag moduleName
|
|
description: Enable moduleName plugin
|
|
default: False
|
|
manual: True
|
|
|
|
flag pragmas
|
|
description: Enable pragmas plugin
|
|
default: False
|
|
manual: True
|
|
|
|
-- formatters
|
|
|
|
flag floskell
|
|
description: Enable floskell plugin
|
|
default: False
|
|
manual: True
|
|
|
|
flag fourmolu
|
|
description: Enable fourmolu plugin
|
|
default: False
|
|
manual: True
|
|
|
|
flag ormolu
|
|
description: Enable ormolu plugin
|
|
default: False
|
|
manual: True
|
|
|
|
flag stylishHaskell
|
|
description: Enable stylishHaskell plugin
|
|
default: False
|
|
manual: True
|
|
|
|
flag brittany
|
|
description: Enable brittany plugin
|
|
default: False
|
|
manual: True
|
|
|
|
common example-plugins
|
|
hs-source-dirs: plugins/default/src
|
|
other-modules: Ide.Plugin.Example,
|
|
Ide.Plugin.Example2
|
|
|
|
common class
|
|
if flag(class) || flag(all-plugins)
|
|
build-depends: hls-class-plugin
|
|
cpp-options: -Dclass
|
|
|
|
common eval
|
|
if flag(eval) || flag(all-plugins)
|
|
build-depends: hls-eval-plugin
|
|
cpp-options: -Deval
|
|
|
|
common importLens
|
|
if flag(importLens) || flag(all-plugins)
|
|
build-depends: hls-explicit-imports-plugin
|
|
cpp-options: -DimportLens
|
|
|
|
common retrie
|
|
if flag(retrie) || flag(all-plugins)
|
|
build-depends: hls-retrie-plugin
|
|
cpp-options: -Dretrie
|
|
|
|
common tactic
|
|
if flag(tactic) || flag(all-plugins)
|
|
build-depends: hls-tactics-plugin
|
|
cpp-options: -Dtactic
|
|
|
|
common hlint
|
|
if flag(hlint) || flag(all-plugins)
|
|
build-depends: hls-hlint-plugin
|
|
cpp-options: -Dhlint
|
|
|
|
common moduleName
|
|
if flag(moduleName) || flag(all-plugins)
|
|
hs-source-dirs: plugins/default/src
|
|
other-modules: Ide.Plugin.ModuleName
|
|
cpp-options: -DmoduleName
|
|
|
|
common pragmas
|
|
if flag(pragmas) || flag(all-plugins)
|
|
hs-source-dirs: plugins/default/src
|
|
other-modules: Ide.Plugin.Pragmas
|
|
cpp-options: -Dpragmas
|
|
|
|
-- formatters
|
|
|
|
common floskell
|
|
if flag(floskell) || flag(all-formatters)
|
|
hs-source-dirs: plugins/default/src
|
|
other-modules: Ide.Plugin.Floskell
|
|
build-depends: floskell ^>=0.10
|
|
cpp-options: -Dfloskell
|
|
|
|
common fourmolu
|
|
if flag(fourmolu) || flag(all-formatters)
|
|
hs-source-dirs: plugins/default/src
|
|
other-modules: Ide.Plugin.Fourmolu
|
|
build-depends: fourmolu ^>=0.3
|
|
cpp-options: -Dfourmolu
|
|
|
|
common ormolu
|
|
if flag(ormolu) || flag(all-formatters)
|
|
hs-source-dirs: plugins/default/src
|
|
other-modules: Ide.Plugin.Ormolu
|
|
build-depends: ormolu ^>=0.1.2
|
|
cpp-options: -Dormolu
|
|
|
|
common stylishHaskell
|
|
if flag(stylishHaskell) || flag(all-formatters)
|
|
hs-source-dirs: plugins/default/src
|
|
other-modules: Ide.Plugin.StylishHaskell
|
|
build-depends: stylish-haskell ^>=0.12
|
|
cpp-options: -DstylishHaskell
|
|
|
|
common brittany
|
|
if (flag(brittany) || flag(all-formatters)) && flag(agpl)
|
|
hs-source-dirs: plugins/default/src
|
|
other-modules: Ide.Plugin.Brittany
|
|
build-depends: brittany >= 0.13.1.0
|
|
cpp-options: -Dbrittany
|
|
|
|
executable haskell-language-server
|
|
import: agpl
|
|
, common-deps
|
|
-- plugins
|
|
, example-plugins
|
|
, class
|
|
, eval
|
|
, importLens
|
|
, retrie
|
|
, tactic
|
|
, hlint
|
|
, moduleName
|
|
, pragmas
|
|
, floskell
|
|
, fourmolu
|
|
, ormolu
|
|
, stylishHaskell
|
|
, brittany
|
|
|
|
main-is: Main.hs
|
|
hs-source-dirs: exe
|
|
other-modules: Plugins
|
|
|
|
ghc-options:
|
|
-threaded -Wall -Wno-name-shadowing -Wredundant-constraints
|
|
-- allow user RTS overrides
|
|
-rtsopts
|
|
-- disable idle GC
|
|
-- disable parallel GC
|
|
-- increase nursery size
|
|
"-with-rtsopts=-I0 -qg -A128M"
|
|
if flag(pedantic)
|
|
ghc-options: -Werror
|
|
|
|
build-depends:
|
|
, aeson
|
|
, binary
|
|
, bytestring
|
|
, containers
|
|
, deepseq
|
|
, ghc
|
|
, ghc-boot-th
|
|
, ghcide
|
|
, hashable
|
|
, haskell-language-server
|
|
, haskell-lsp ^>=0.22
|
|
, lens
|
|
, regex-tdfa
|
|
, hslogger
|
|
, optparse-applicative
|
|
, hls-plugin-api
|
|
, lens
|
|
, mtl
|
|
, regex-tdfa
|
|
, safe-exceptions
|
|
, shake >=0.17.5
|
|
, temporary
|
|
, transformers
|
|
, unordered-containers
|
|
, with-utf8
|
|
|
|
include-dirs: include
|
|
default-language: Haskell2010
|
|
|
|
executable haskell-language-server-wrapper
|
|
import: agpl, common-deps
|
|
main-is: Wrapper.hs
|
|
hs-source-dirs: exe
|
|
other-modules: Paths_haskell_language_server
|
|
autogen-modules: Paths_haskell_language_server
|
|
ghc-options:
|
|
-threaded -Wall -Wno-name-shadowing -Wredundant-constraints
|
|
-- allow user RTS overrides
|
|
-rtsopts
|
|
-- disable idle GC
|
|
-- disable parallel GC
|
|
-- increase nursery size
|
|
"-with-rtsopts=-I0 -qg -A128M"
|
|
if flag(pedantic)
|
|
ghc-options: -Werror
|
|
|
|
build-depends:
|
|
, ghc
|
|
, ghc-paths
|
|
, ghcide
|
|
, gitrev
|
|
, haskell-language-server
|
|
, hie-bios
|
|
, optparse-applicative
|
|
, optparse-simple
|
|
, process
|
|
|
|
default-language: Haskell2010
|
|
|
|
-- This common stanza simulates a previous private lib
|
|
-- We removed it due to issues with stack when loading the project using a stack based hie.yaml
|
|
-- See https://github.com/haskell/haskell-language-server/issues/114
|
|
common hls-test-utils
|
|
import: agpl, common-deps
|
|
hs-source-dirs: test/utils
|
|
other-modules: Test.Hls.Util
|
|
build-depends:
|
|
, aeson
|
|
, blaze-markup
|
|
, containers
|
|
, data-default
|
|
, haskell-lsp
|
|
, hie-bios
|
|
, hls-plugin-api >=0.6
|
|
, hslogger
|
|
, hspec
|
|
, hspec-core
|
|
, lens
|
|
, lsp-test >=0.11.0.6
|
|
, stm
|
|
, tasty-expected-failure
|
|
, tasty-hunit
|
|
, temporary
|
|
, transformers
|
|
, unordered-containers
|
|
, yaml
|
|
|
|
ghc-options: -Wall -Wredundant-constraints
|
|
|
|
if flag(pedantic)
|
|
ghc-options: -Werror
|
|
|
|
default-language: Haskell2010
|
|
|
|
test-suite func-test
|
|
import: agpl, common-deps, hls-test-utils
|
|
type: exitcode-stdio-1.0
|
|
default-language: Haskell2010
|
|
build-tool-depends:
|
|
haskell-language-server:haskell-language-server -any,
|
|
ghcide:ghcide-test-preprocessor -any
|
|
|
|
build-depends:
|
|
, bytestring
|
|
, data-default
|
|
, hspec-expectations
|
|
, lens
|
|
, tasty
|
|
, tasty-ant-xml >=1.1.6
|
|
, tasty-golden
|
|
, tasty-rerun
|
|
|
|
hs-source-dirs: test/functional plugins/tactics/src plugins/hls-eval-plugin/test
|
|
|
|
main-is: Main.hs
|
|
other-modules:
|
|
Class
|
|
Command
|
|
Completion
|
|
Config
|
|
Deferred
|
|
Definition
|
|
Diagnostic
|
|
Eval
|
|
Format
|
|
FunctionalBadProject
|
|
FunctionalCodeAction
|
|
FunctionalLiquid
|
|
HieBios
|
|
Highlight
|
|
ModuleName
|
|
Progress
|
|
Reference
|
|
Rename
|
|
Symbol
|
|
TypeDefinition
|
|
Tactic
|
|
Ide.Plugin.Tactic.TestTypes
|
|
|
|
ghc-options:
|
|
-Wall -Wno-name-shadowing -threaded -rtsopts -with-rtsopts=-N
|
|
|
|
if flag(pedantic)
|
|
ghc-options: -Werror -Wredundant-constraints
|
|
|
|
test-suite wrapper-test
|
|
import: agpl, hls-test-utils
|
|
type: exitcode-stdio-1.0
|
|
build-tool-depends:
|
|
haskell-language-server:haskell-language-server-wrapper -any
|
|
|
|
default-language: Haskell2010
|
|
build-depends:
|
|
, base
|
|
, directory
|
|
, process
|
|
, tasty
|
|
, tasty-ant-xml >=1.1.6
|
|
, tasty-rerun
|
|
|
|
hs-source-dirs: test/wrapper
|
|
main-is: Main.hs
|
|
ghc-options: -Wall
|
|
|
|
|
|
|
|
|