haskell-language-server/cabal.project

48 lines
1.3 KiB
Plaintext
Raw Normal View History

2020-07-22 00:50:13 +03:00
packages:
./
./hie-compat
./shake-bench
./hls-graph
2020-10-23 09:51:12 +03:00
./ghcide
./hls-plugin-api
./hls-test-utils
2024-06-29 22:50:34 +03:00
index-state: 2024-06-29T00:00:00Z
9.6 support for HLS (#3480) * 9.6 support Fixes hls-refactor-plugin 9.6 support hls-gadt-plugin Fix 9.4 build Fixes hls-gadt-plugin fixes WIP 9.6 patches fixes fixes fixes fixes fixes Fixes and add CI CI CI fixes patch haskell/actions for https://github.com/haskell/ghcup-hs/issues/783 CI fixes CI fixes CI fixes CI CI CI CI CI Fix build on 9.0 Fix build on 9.0 hls-splice-plugin 9.6 compat fixes fixes fixes fixes Fix benchmark build errors 9.2.5 and 8.10.7 had build errors when running benchmarks due to `mfsolve` test suite having duplicate instances, so stop building tests for mfsolve (see: https://github.com/kuribas/mfsolve/issues/8). Also, `http2-4.0.0` has a parse error due to a misplaced haddock comment that causes build failure with `-haddock`. It is fixed in the latest commit of the source repo, so use that in the `cabal.project` for now. Checkout correct commit on `pull_request` in CI By default, the `pull_request` event has a `GITHUB_SHA` env variable set to the "last merge commit on the GITHUB_REF branch" (see https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request). But we want to check out the latest commit on the branch whether or not it is a merge commit. This commit changes the CI actions to do just that. fixes Use head.hackage for 9.4 Only use head.hackage for 9.5 and up Reverts the change that caused head.hackage to be used for 9.4 as well Reintroduce source-repo-package for ekg-json Fix refactor plugin tests Fix missing constraint detection in refactor plugin ghc 9.6+ allow newer unordered-containers:template-haskell Some refactor tests no longer broken for 9.2 Fix simple-multi-test on 9.6 Mark simple-plugin as broken on 9.6 func-test fixes Disable unsupported plugins on 9.6 Eval plugin fixes Eval plugin test fixes, debug output in CI script Restore 'working' setup/actions WIP Fix GHC prerelease windows install Fix eval plugin T11 fixes Eval plugin fixes Fix splice plugin test Mark `simple plugin` ghcide test broken on 9.6 fixes fixes Use GHC 9.6-rc1 in CI Try using 9.6.1 for CI * 9.6 nix * Remove head.hackage * fixes * fixes * fixes * fixes * fixes * fixes
2023-03-22 16:56:51 +03:00
tests: True
test-show-details: direct
9.6 support for HLS (#3480) * 9.6 support Fixes hls-refactor-plugin 9.6 support hls-gadt-plugin Fix 9.4 build Fixes hls-gadt-plugin fixes WIP 9.6 patches fixes fixes fixes fixes fixes Fixes and add CI CI CI fixes patch haskell/actions for https://github.com/haskell/ghcup-hs/issues/783 CI fixes CI fixes CI fixes CI CI CI CI CI Fix build on 9.0 Fix build on 9.0 hls-splice-plugin 9.6 compat fixes fixes fixes fixes Fix benchmark build errors 9.2.5 and 8.10.7 had build errors when running benchmarks due to `mfsolve` test suite having duplicate instances, so stop building tests for mfsolve (see: https://github.com/kuribas/mfsolve/issues/8). Also, `http2-4.0.0` has a parse error due to a misplaced haddock comment that causes build failure with `-haddock`. It is fixed in the latest commit of the source repo, so use that in the `cabal.project` for now. Checkout correct commit on `pull_request` in CI By default, the `pull_request` event has a `GITHUB_SHA` env variable set to the "last merge commit on the GITHUB_REF branch" (see https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request). But we want to check out the latest commit on the branch whether or not it is a merge commit. This commit changes the CI actions to do just that. fixes Use head.hackage for 9.4 Only use head.hackage for 9.5 and up Reverts the change that caused head.hackage to be used for 9.4 as well Reintroduce source-repo-package for ekg-json Fix refactor plugin tests Fix missing constraint detection in refactor plugin ghc 9.6+ allow newer unordered-containers:template-haskell Some refactor tests no longer broken for 9.2 Fix simple-multi-test on 9.6 Mark simple-plugin as broken on 9.6 func-test fixes Disable unsupported plugins on 9.6 Eval plugin fixes Eval plugin test fixes, debug output in CI script Restore 'working' setup/actions WIP Fix GHC prerelease windows install Fix eval plugin T11 fixes Eval plugin fixes Fix splice plugin test Mark `simple plugin` ghcide test broken on 9.6 fixes fixes Use GHC 9.6-rc1 in CI Try using 9.6.1 for CI * 9.6 nix * Remove head.hackage * fixes * fixes * fixes * fixes * fixes * fixes
2023-03-22 16:56:51 +03:00
benchmarks: True
write-ghc-environment-files: never
-- Many of our tests only work single-threaded, and the only way to
-- ensure tasty runs everything purely single-threaded is to pass
-- this at the top-level
test-options: -j1
-- Make sure dependencies are build with haddock so we get
-- haddock shown on hover
package *
ghc-options: -haddock
Ghc 9.0.1 support for ghcide (#1649) * hie-compat: Add basic support for ghc-9.0.1 A tiny step towards #297 * hie-compat: Remove dependency on ghc-api-compat * hie-compat: Add more backwards compatability * Import a bunch of upstream ghc9 fixes * cabal.project: allow-newer: *:* The lazy solution to making things compile * Add more upstream fixes * Bump patch of ghc-check * ghcide: Add basic support for GHC-9.0.1 I tried to limit the use of CPP to the Compat module as much as possible by re-exporting the new functions under the old names, but there is still plenty of pragmas all over the code. I'm using ghc-api-compat so the imports doesn't need to be changed as much. * ghcide: Fix backwards compatability with ghc-8.8.4 * ghc9-ghcide: Fix some more issues that caused runtime errors * Restore initDynLinker for older versions of ghc It was probably important for something * Fix ghc-8.6.5 compatability * Fix completion test failures for ghc9 With this example: f asdfgh = asd it would suggest to complete `asd` into `asd_arNC`, which seems to be a name it generated because of deferred-out-of-scope-variables * Ghc-check now supports ghc-9.0.1 * Retrie now supports ghc-9.0.1 But it's not on hackage yet. * Restore retrie orphans * tests: Ghc9 shows [Char] as String by default This seems like an improvement, so just update the test-suite * tests: Ghc9 shows TH-errors after the dollar sign Instead of including it like older versions did $(foo) ~~~~ some TH error/warning * Fix two more test failures - GHC9 uses a more lenient haddock parser - TH2.17 has polymorphic Q monad with a type class * ghc9: Fix "Remove redundant imports" code action In ghc9, only the specific unused function is highlighted, instead of the whole line. * ghcide-tests: Show errors where they are caused instead of deep inside some generic helper function * Only use nub on SrcSpan for ghc>=9 * Remove more CPP pragmas * Remove a bit more CPP This could almost be handled by ghc-api-compat, but if it was imported from TyCoPpr, it doesn't work with ghc < 8.10 * Update stack files to support new versions * Use the version of retire on hackage The new version is now released * Don't use allow-newer: *:* * ghcide-tests: Enable test no longer broken in ghc9 * Update hiedb version for ghcide * Adjust for a minor change in test output for ghc9 * Fix benchmark test for ghc9 Cabal-3.2 is not buildable on ghc9, but 3.4 is builable on older ghc. * Mark minor issues as broken for ghc9 Ghc9 highlights both the constructor and the other fields Maybe this should just be accepted and not seen as broken? * haddock-comments-plugin: Ghc9 support * hls-eval-plugin: Partial ghc9 support * WIP: hls-eval-plugin: Partial ghc9 support * hls-explicit-imports-plugin: Add ghc9 support Now ignores any imports with Unhelpful locations, since we can't make a map of SrcLoc * hls-retrie-plugin: Add ghc9 support * hls-hlint-plugin: Add ghc9 support * Fix backwards compatability of hlint plugin * Fix stack builds (Broken by previous hlint fixes) * Disable tests when their required plugins are disabled Not all plugins are supported on ghc9 yet, but we still want to run the tests for the supported parts * ghc9: Fix module name plugin * Add a stack file and run tests for ghc9 in ci * Add missing packages to ghc-9 stack * Resolve rebase issues Maybe it's better to create merge commits instead? * Allow newer for more packages so cabal stops complaining These aren't really working, but since they are dependencies of packages in the `packages:` section the resolver won't allow us to build anything without this, even if those plugins are disabled. * Replace MIN_GHC_API_VERSION with MIN_VERSION_ghc * Revert incorrect change to hlint code * Remove remaining traces of GHC_LIB flag * Add back ghc 9 to github workflow * Revert "Add back ghc 9 to github workflow" This reverts commit c465a1e51aaaabf56dc7ef8f7fa801ef0abf8fdc. * hie-compat: Add basic support for ghc-9.0.1 A tiny step towards #297 * hie-compat: Remove dependency on ghc-api-compat * hie-compat: Add more backwards compatability * Disable CI for ghc9 * Use newer version of apply-refact * Don't needlessly duplicate code from ghc * hie-compat: Reexport the original version of HieBin * Don't include broken "allow-newer"s * FIx stack build for ghc9 * Fix warning from imperfect merge commit * Don't needlessly duplicate code from ghc * hie-compat: Reexport the original version of HieBin * Add missing ghc-api-compat * Fix ghc9 build for ModuleName * Add more conditionals on flags for tests * Add a separate cabal.project file for ghc9 As far as I know, this is the only way to disable the packages who's dependencies doesn't compile in GHC9 yet. * Fix and re-enable CI for GHC9 * Remove accidental non-breaking space * Fix CI build for ghc9 Since we are changing the flags for haskell-language-server, which CI renames to hls, we need to use the shortened name in those flags as well * Run tests for ghc9 in CI * Minor CI changes * Use proper values when enriching hie * Don't try to test hls-refine-imports-plugin on ghc9 * Update comment about ghc9 crashing on initDynLinker * setSessionDynamicFlags to prevent ghc9 from crashing The only way to set the dynamic linker is with the function `setSessionDynFlags` so we call it with the result from `getSessionDynFlags` to give it a (hopefully sensible) argument. See also this commit: https://gitlab.haskell.org/ghc/ghc/commit/18757cab04c5c5c48eaceea19469d4811c5d0371 * Revert "setSessionDynamicFlags to prevent ghc9 from crashing" This reverts commit 4065ac8394065f8aa15b1b36e0d56e3ba7762e44. That change made the "ghcide.cradle.muli" tests fail. * Simplify logic in hls-hlint-plugin.cabal * Add comment on OldRealSrcSpan * Remove source overrides for non-ghc9 builds in cabal.project * Remove commented out code Co-authored-by: Pepe Iborra <pepeiborra@me.com> * Remove resolved question from comment "This code is only concerned with extracting argument names, so I don't see how multiplicity would be relevant here" https://github.com/haskell/haskell-language-server/pull/1649#discussion_r642606967 * ghc9: Update to latest version of LSP per * cabal-ghc901.project: Remove commented out code * Update the lsp commit hash for stack as well * Use a version of lsp without haskell/lsp#326 That patch was causing test failures, but the issues should be fixed for real at some point, so that patch can be incluede Co-authored-by: Pepe Iborra <pepeiborra@gmail.com> Co-authored-by: Pepe Iborra <pepeiborra@me.com>
2021-06-06 20:16:29 +03:00
constraints:
-- C++ is hard to distribute, especially on older GHCs
-- See https://github.com/haskell/haskell-language-server/issues/3822
text -simdutf,
ghc-check -ghc-check-use-package-abis,
ghc-lib-parser-ex -auto,
Implement semantic tokens plugin to support semantic highlighting(textDocument/semanticTokens/full) (#3892) * Implement semantic tokens lsp plugin draft * SemanticTokens: combine information extracted from HieAst * clean up * map to default token types in lsp * use lsp makeSemanticTokens to convert to lsp SemanticTokens type * add test and cleanup * refine semantic type to default one in lsp * Use tokens from hieAst instead of renamedSource and add test * use customize RefMap to get semantic type * use refMap from useAsts * Also compute imported names * Also compute semantic type from TyThing * Fix dependencies version * fix version * Retrieve nameSet from renamedSource to prevent names not visible(Such as by instance deriving) being handled * add hlint config to ignore test data * cean up test data * revert flake.nix * Rename query.hs to Query.hs * Build: add semantic tokens to lts21 * Refactor and add README * Semantic token, filter names in Ast * CI: add consistancy check for wether semantic tokens computations is stable across different ghc versions * Update documentation, cleanup test, remove default modifiers * Fix: IO now classfied to TTypcon, add test for GADT and data family, Update documentation * Restore stack.yaml * fix stack build * Refactor, move out ActualToken to Mappings and use ide logger * Refactor: toLspTokenType should return Maybe type * Stop use stale hieAst * add getImportedNameSemanticRule rule to semantic tokens plugin * do not retrieve hie in getImportedNameSemanticRule * fix: add description for semantic tokens * remove TValBind and TPaternBind and Use TFunction and TVariable instead * cleanup * Refactor useWithStaleMT and took care of the token range using position map * fix build for 9.4 * refactor, use golden test * refactor, use ExceptT for computeSemanticTokens * Fix 9.2 * add persistentSemanticMapRule to prevent semantic tokens block on startup * Fix, use hieKind instead of cast the type directly * add options to turn semantic tokens on and off * Disable stan plugin by default (#3917) * Fix positionMapping in stale data (#3920) * Fix positionMapping in stale data * add test for updatePositionMapping * add comment to demonstrate addOldDelta * cleanup * fix: for local variable, extract type from contextInfo instead of bind site, thus function in pattern binds can also be indentified * clean up * Update plugins/hls-semantic-tokens-plugin/src/Ide/Plugin/SemanticTokens/Query.hs Co-authored-by: Michael Peyton Jones <me@michaelpj.com> * refactor: remove TNothing and compact the test output * refactor: rename SemanticTokenType to HsSemanticTokenType to avoid confusion with lsp' SemanticTokenTypes * refactor: push the computation of semantic token type to getSemanticTokensRule * update documentation * cleanup hieAstSpanNames * remove renamed source from getSemanticTokensRule and optimize query function for semantic token type * try to exclude names that is not visible in hie and cleanup * add HieFunMaskKind, it is to differ wether a type at type index is a function or non-function * expose function flag to expose (=>, ->, -=>, ==>) * 1. Relax GetDocMap kindMap to get TyThing for more than type variables. 2. Backport isVisibleFunArg * use customize logger, add test for unicode * fix: handle unicode in semantic tokens * update KindMap to TyThingMap * cleanup * add realSrcSpanToCodePointRange, realSrcLocToCodePointPosition to Development.IDE.GHC.Error * add Note [Semantic information from Multiple Sources] * move recoverFunMaskArray to Mappings.hs * fix test, data.Set might not appear * fix: handle semantic tokens with more than one ast * fix: instance PluginMethod Request Method_TextDocumentSemanticTokensFull * clean up * turn semantic tokens off by default * fix doc * clean up doc --------- Co-authored-by: fendor <fendor@users.noreply.github.com> Co-authored-by: Michael Peyton Jones <me@michaelpj.com>
2024-01-06 16:09:19 +03:00
-- This is only present in some versions, and it's on by default since
-- 0.14.5.0, but there are some versions we allow that need this
-- setting
stylish-haskell +ghc-lib,
2023-08-26 11:27:49 +03:00
-- Centos 7 comes with an old gcc version that doesn't know about
-- the flag '-fopen-simd', which blocked the release 2.2.0.0.
-- We want to be able to benefit from the performance optimisations
-- in the future, thus: TODO: remove this flag.
Support for 9.10 (#4233) * Support for 9.10 This includes supports for all plugins, other than formatters and hlint. We need ghc-exactprint and retrie release before merging this. * Remove indexed-traversable allow-newer * Fix couple of warnings * Fix flags job for hls-graph * foldl' exposed from Prelude since base 4.20 * Fix flags job for hls-plugin-api * Fix ghcide hover test * Fix flags job for hls-eval-plugin * unzip since 4.19 * More pedantic fixes * Don't CPP in tests, fix another test * Switch to ghc-exactprint and witherable from hackage * Fix all warnings in hls-refactor-plugin * Remove more no longer necessary allow newers * Fix all warnings in hls-gadp-plugin and hls-qualify-imported-names-plugin * Remove allow-newer for boring * Bump to lsp 2.6, remove more allow-newers * outline tests * disable simple plugin on 9.10 * Remove allow-newer for ghc-trace-events * fix appendConstraint * stylish * Remove commutative-semigroups and monoid-subclasses from allow-newer * Remove free from allow-newer * Fix 'type wilcard actions' tests * Remove hie-bios from allow-newer * Fix suggestNewDefinition tests * Revert "Fix suggestNewDefinition tests" This reverts commit 2f3300e96489f043084f347d26349c63d2c1ec82. * Remove makeDeltaAst breaking tests unrelated to addArgument * Fix 79 code action tests * Fix 12 more tests * Remove co-log-core from allow-newer * Fix 21 more tests * Fix 8 import disambiguation tests * fix windows ghcide tests * Fix adding argument to function body * update retrie commit, progress in add argument tests * Fix few stylish-haskell parse errors * Fix remaining redundant constraint tests * Remove allow-newer for constraint-extras * Fix warnings after master merge * Fix most add argument tests except for one * Remove dependent-map from allow-newer * Try removing some allow-newers from lsp * Ormolu is updated, add links for other tool dependencies * Revert "Try removing some allow-newers from lsp" This reverts commit 6f60029ff2a3a7d9d5210d4b0754bd25424718fc. * Try this * Fix all gadt plugin and most class plugin tests, enable 2 tests for ghc 9.4+ * Undo spurious changes * Update eval plugin tests * Disable broken refactor plugin test for now * Fix warnings * Add source-repository-package to unblock floskell * Make call hierarchy plugin tests green * fix semantic tokens 9.10 * Fix remaining class plugin test * Update hls-change-type tests * Make class plugin more robust * Fix stylish parse errors, simplify CPP * Cleanups * Remove retrie dep from hls-refactor-plugin * More retrie fixes * Fix cabal-plugin-tests by respecting maxCompletions client cfg + a bit of CPP * Fixup ghcide-tests * disable retrie, splice and floskell plugins for 9.10 * Update tested-with + fix import warning * Fix stylish * Fix compilation with 9.2.8, fix stack jobs * Remove no longer relevant :type +v test * Disable tests of disabled plugins in CI * Try a better broken specifier? * Fix invalid CI config * Use getClientConfigAction instead of introducing new HandlerM action * Move CPPd imports to prevent stylish from evaluating CPP * Disable stan tests with ghc 9.10 in CI * attempt fixing exactprint <9.10 * Try enabling fourmolu now * Revert "Try enabling fourmolu now" This reverts commit 7142686f62227f714ffa08da68926494fc8ea0ef. * Update code-range-plugin tests * Fix No newline at the end of file * Use more recent cabal-gild * Try setting some linker flags for macos * Ignore non-local variable completion test on windows for GHC 9.8 --------- Co-authored-by: Jan Hrček <honza.hrk@gmail.com> Co-authored-by: Patrick <fwy996602672@gmail.com> Co-authored-by: Michael Peyton Jones <me@michaelpj.com> Co-authored-by: Fendor <fendor@posteo.de>
2024-06-13 17:45:57 +03:00
bitvec -simd,
if impl(ghc >= 9.9)
-- https://github.com/haskell/haskell-language-server/issues/4324
benchmarks: False