haskell-language-server/plugins/hls-gadt-plugin
wz1000 191bda61fe
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 13:56:51 +00:00
..
src/Ide/Plugin 9.6 support for HLS (#3480) 2023-03-22 13:56:51 +00:00
test 9.6 support for HLS (#3480) 2023-03-22 13:56:51 +00:00
gadt.gif A plugin for GADT syntax converter (#2899) 2022-05-26 17:13:09 +08:00
hls-gadt-plugin.cabal Prepare release 1.9.0.0 2022-12-26 16:09:25 +05:30
LICENSE A plugin for GADT syntax converter (#2899) 2022-05-26 17:13:09 +08:00
README.md A plugin for GADT syntax converter (#2899) 2022-05-26 17:13:09 +08:00

GADT Converter Plugin

The hls-gadt-plugin provides a code action that converts a datatype to GADT syntax.

Demo

GADT

Design

The plugin works in the following steps:

  1. Get data declarations and enabled pragmas from parsed source.
  2. Response a code action with a command to convert to GADT syntax if given position is a H98 data declaration.
  3. Convert every part of H98 declaration to corresponding GADT's.
  4. Print converted declaration. (See prettyGADTDecl source code for details)
  5. Send edit request to LSP, the edit includes replacing origin data declaration to GADT and inserting a GADTs pragma if necessary.

Known limitations

  • Currently all comments missed while converting to GADT syntax.

Change log

1.0.0.0

  • Release