Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -251,11 +251,6 @@ jobs:
name: Test hls-cabal-plugin test suite
run: cabal test ${CABAL_ARGS} hls-cabal-plugin-tests || cabal test ${CABAL_ARGS} hls-cabal-plugin-tests

# TODO enable when it supports 9.10
- if: matrix.test && matrix.ghc != '9.10' && matrix.ghc != '9.12' && matrix.ghc != '9.14' && matrix.ghc != '9.10.2'
name: Test hls-retrie-plugin test suite
run: cabal test ${CABAL_ARGS} hls-retrie-plugin-tests || cabal test ${CABAL_ARGS} hls-retrie-plugin-tests

- if: matrix.test
name: Test hls-overloaded-record-dot-plugin test suite
run: cabal test ${CABAL_ARGS} hls-overloaded-record-dot-plugin-tests || cabal test ${CABAL_ARGS} hls-overloaded-record-dot-plugin-tests
Expand Down
1 change: 0 additions & 1 deletion CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@
/plugins/hls-qualify-imported-names-plugin @eddiemundo
/plugins/hls-refactor-plugin @santiweight
/plugins/hls-rename-plugin
/plugins/hls-retrie-plugin @wz1000
/plugins/hls-semantic-tokens-plugin @soulomoon
/plugins/hls-signature-help-plugin @jian-lin
/plugins/hls-splice-plugin @konn
Expand Down
1 change: 0 additions & 1 deletion bench/config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,6 @@ configurations:
# - pragmas
# - qualifyImportedNames
# - rename
# - retrie
# - splice
# - stan
# # - stylish-haskell
2 changes: 1 addition & 1 deletion docs/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ Here is a list of the additional settings currently supported by `haskell-langua
Plugins have a generic config to control their behaviour. The schema of such config is:

- `haskell.plugin.${pluginName}.globalOn`: usually with default true. Whether the plugin is enabled at runtime or it is not. That is the option you might use if you want to disable completely a plugin.
- Actual plugin names are: `ghcide-code-actions-fill-holes`, `ghcide-completions`, `ghcide-hover-and-symbols`, `ghcide-type-lenses`, `ghcide-code-actions-type-signatures`, `ghcide-code-actions-bindings`, `ghcide-code-actions-imports-exports`, `eval`, `moduleName`, `pragmas`, `importLens`, `class`, `hlint`, `retrie`, `rename`, `splice`, `stan`, `signatureHelp`.
- Actual plugin names are: `ghcide-code-actions-fill-holes`, `ghcide-completions`, `ghcide-hover-and-symbols`, `ghcide-type-lenses`, `ghcide-code-actions-type-signatures`, `ghcide-code-actions-bindings`, `ghcide-code-actions-imports-exports`, `eval`, `moduleName`, `pragmas`, `importLens`, `class`, `hlint`, `rename`, `splice`, `stan`, `signatureHelp`.
- So to disable the import lens with an explicit list of module definitions you could set `haskell.plugin.importLens.globalOn: false`
- `haskell.plugin.${pluginName}.${lspCapability}On`: usually with default true. Whether a concrete plugin capability is enabled.
- Capabilities are the different ways a lsp server can interact with the editor. The current available capabilities of the server are: `callHierarchy`, `codeActions`, `codeLens`, `diagnostics`, `hover`, `symbols`, `completion`, `rename`.
Expand Down
4 changes: 0 additions & 4 deletions docs/contributing/plugin-tutorial.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,6 @@ In the last couple of months, I have written various HLS plugins, including:
1. Suggest imports for variables not in scope,
2. Remove redundant imports,
3. Evaluate code in comments (à la [doctest](https://docs.python.org/3/library/doctest.html)),
4. Integrate the [retrie](https://github.com/facebookincubator/retrie) refactoring library.

These plugins are small but meaningful steps towards a more polished IDE experience.
While writing them, I didn't have to worry about performance, UI, or distribution; another tool (usually GHC) always did the heavy lifting.

Expand Down Expand Up @@ -77,7 +75,6 @@ The HLS codebase includes several plugins (found in `./plugins`). For example:

- The `ormolu`, `fourmolu`, `floskell` and `stylish-haskell` plugins used to format code
- The `eval` plugin, a code lens provider to evaluate code in comments
- The `retrie` plugin, a code action provider to execute retrie commands

I recommend looking at the existing plugins for inspiration and reference. A few conventions shared by all plugins are:

Expand All @@ -99,7 +96,6 @@ I recommend looking at the existing plugins for inspiration and reference. A few
, Fourmolu.descriptor "fourmolu"
, Ormolu.descriptor "ormolu"
, StylishHaskell.descriptor "stylish-haskell"
, Retrie.descriptor "retrie"
, Eval.descriptor "eval"
, NewPlugin.descriptor "new-plugin" -- Add new plugins here.
]
Expand Down
18 changes: 0 additions & 18 deletions docs/features.md
Original file line number Diff line number Diff line change
Expand Up @@ -238,24 +238,6 @@ Code action kind: `quickfix`

Adds placeholders for missing class methods in a class instance definition.

### Unfold definition

Provided by: `hls-retrie-plugin`

Code action kind: `refactor.extract`

Extracts a definition from the code.

### Fold definition

Provided by: `hls-retrie-plugin`

Code action kind: `refactor.inline`

Inlines a definition from the code.

![Retrie Demo](https://i.imgur.com/Ev7B87k.gif)

### Insert contents of Template Haskell splice

Provided by: `hls-splice-plugin`
Expand Down
1 change: 0 additions & 1 deletion docs/support/plugin-support.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,6 @@ For example, a plugin to provide a formatter which has itself been abandoned has
| `hls-semantic-tokens-plugin` | 2 | |
| `hls-floskell-plugin` | 3 | 9.10.1, 9.12.2, 9.14.1 |
| `hls-stan-plugin` | 3 | 9.12.2, 9.14.1 |
| `hls-retrie-plugin` | 3 | 9.10.1, 9.12.2, 9.14.1 |
| `hls-splice-plugin` | 3 | 9.10.1, 9.12.2, 9.14.1 |

[1]: HLint is incompatible with GHC 9.10 series. See the issue [#4674](https://github.com/haskell/haskell-language-server/issues/4674) for discussion and explanation.
61 changes: 0 additions & 61 deletions haskell-language-server.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -631,66 +631,6 @@ test-suite hls-rename-plugin-tests
, lsp-types
, text

-----------------------------
-- retrie plugin
-----------------------------

flag retrie
description: Enable retrie plugin
default: True
manual: True

common retrie
if flag(retrie) && (impl(ghc < 9.10) || flag(ignore-plugins-ghc-bounds))
build-depends: haskell-language-server:hls-retrie-plugin
cpp-options: -Dhls_retrie

library hls-retrie-plugin
import: defaults, pedantic, warnings
if !(flag(retrie) && (impl(ghc < 9.10) || flag(ignore-plugins-ghc-bounds)))
buildable: False
exposed-modules: Ide.Plugin.Retrie
hs-source-dirs: plugins/hls-retrie-plugin/src
build-depends:
, aeson
, bytestring
, containers
, extra
, ghc
, ghcide == 2.13.0.0
, hashable
, hls-plugin-api == 2.13.0.0
, haskell-language-server:hls-refactor-plugin
, lens
, lsp
, lsp-types
, mtl
, retrie >=0.1.1.0
, safe-exceptions
, stm
, text
, text-rope
, transformers
, unordered-containers

default-extensions:
DataKinds

test-suite hls-retrie-plugin-tests
import: defaults, pedantic, test-defaults, warnings
if !(flag(retrie) && (impl(ghc < 9.10) || flag(ignore-plugins-ghc-bounds)))
buildable: False
type: exitcode-stdio-1.0
hs-source-dirs: plugins/hls-retrie-plugin/test
main-is: Main.hs
build-depends:
, containers
, filepath
, hls-plugin-api
, haskell-language-server:{hls-refactor-plugin, hls-retrie-plugin}
, hls-test-utils == 2.13.0.0
, text

-----------------------------
-- hlint plugin
-----------------------------
Expand Down Expand Up @@ -1927,7 +1867,6 @@ library
, eval
, importLens
, rename
, retrie
, hlint
, stan
, signatureHelp
Expand Down
Loading
Loading