haskell-language-server/cabal.project

85 lines
2.1 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
./plugins/hls-tactics-plugin
./plugins/hls-brittany-plugin
./plugins/hls-stylish-haskell-plugin
./plugins/hls-fourmolu-plugin
2020-12-10 03:26:39 +03:00
./plugins/hls-class-plugin
./plugins/hls-eval-plugin
./plugins/hls-explicit-imports-plugin
./plugins/hls-refine-imports-plugin
2020-12-10 03:26:39 +03:00
./plugins/hls-hlint-plugin
./plugins/hls-retrie-plugin
./plugins/hls-haddock-comments-plugin
Splice Plugin: expands TH splices and QuasiQuotes (#759) * Implements splice location detection * Corrects detection logic * Changed to use (bogus) message for code action * Splice location * Extract `Ide.TreeTransform` as an independent package * It once worked, but stops... * Now it works for inplace expansion for expressions * generalises tree transformation to general AST element * Done for Types and Patterns! * Disabled "commented" style of expansion * kills redundant imports * Updates cabal.project * Nix fix * Nix fix, fix * Throws away loading hacks entirely * Type adjusted for inverse dependency * Resolves merge conflicts * WIP: Support hover and goto definition for top-level splices I can't work out how to properly integrate this information into the .hie file machinery. Perhaps it would be better to upstream this. * Modifies splice information to store both spliced expression and expanded ones as well * Avoid name collision * formatting erros * Safer error handling * Rewrote using updated ghcide `TypeCheck` results * Use `liftRnf rwhnf` to force spine of lists * Stop using `defaultRunMeta` directly to avoid override of preexisting hooks * Error report * Add splice information into HIE generation. * Resolves interace conflict * Add test * Changes to use ParsedModule to detect Splice CodeLens * formatted * Implements golden test * mzero for HsDecl * Decl Splice * Workaround for Decl expansion and support type-errored macro expansion. * Only setting up dflags correcly would suffice * Removes lines accidentally added * Regression tests for Declaration splice and kind-error ones * Workaround for GHC 8.8 * Revert "Workaround for GHC 8.8" This reverts commit 056f76971f6149f645d2cc9d108978c244ed868d. * Unsupport pattern splices GHC 8.8 * Corrects line position in GoToHover * Increases wait time * Includes only related changes only * Optimises `something'` * Adds hie.yaml * circie ci: Modifies stack-8.10.3.yaml * Forgot to update dflags in auto-expansion with default strategy * Forgot to add golden file * A dummy commit to run CI * Workaround for GHC 8.8 pattern splices Co-authored-by: Matthew Pickering <matthewtpickering@gmail.com> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-01-05 18:34:06 +03:00
./plugins/hls-splice-plugin
./plugins/hls-floskell-plugin
2021-05-15 03:04:50 +03:00
./plugins/hls-pragmas-plugin
./plugins/hls-module-name-plugin
./plugins/hls-ormolu-plugin
tests: true
2020-07-20 14:19:42 +03:00
package *
ghc-options: -haddock
test-show-details: direct
-- ghc-api-compat-8.6
source-repository-package
type: git
location: https://github.com/hsyl20/ghc-api-compat
tag: 8fee87eac97a538dbe81ff1ab18cff10f2f9fa15
write-ghc-environment-files: never
index-state: 2021-05-21T05:01:41Z
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:
-- Diagrams doesn't support optparse-applicative >= 0.16 yet
optparse-applicative < 0.16
allow-newer:
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
active:base,
assoc:base,
cryptohash-md5:base,
cryptohash-sha1:base,
constraints-extras:template-haskell,
data-tree-print:base,
deepseq:base,
dependent-sum:some,
dependent-sum:constraints,
diagrams-contrib:base,
diagrams-contrib:lens,
diagrams-contrib:random,
diagrams-core:base,
diagrams-core:lens,
diagrams-lib:base,
diagrams-lib:lens,
diagrams-postscript:base,
diagrams-postscript:lens,
diagrams-svg:base,
diagrams-svg:lens,
dual-tree:base,
-- Does this make any sense?
entropy:Cabal,
force-layout:base,
force-layout:lens,
floskell:ghc-prim,
floskell:base,
hashable:base,
hslogger:base,
monoid-extras:base,
newtype-generics:base,
parallel:base,
regex-base:base,
regex-tdfa:base,
statestack:base,
svg-builder:base,
these:base,
time-compat:base