Skip to content

Commit 257e5ae

Browse files
authored
Merge pull request #491 from haskell/jneira/revamp-readme
Reorganize README
2 parents 508bd0d + c0cacc0 commit 257e5ae

File tree

1 file changed

+18
-59
lines changed

1 file changed

+18
-59
lines changed

README.md

+18-59
Original file line numberDiff line numberDiff line change
@@ -2,46 +2,29 @@
22

33
[![vsmarketplacebadge](https://vsmarketplacebadge.apphb.com/version/haskell.haskell.svg)](https://marketplace.visualstudio.com/items?itemName=haskell.haskell)
44

5-
This extension adds language support for [Haskell](https://haskell.org), powered by the [Haskell Language Server](https://github.com/haskell/haskell-language-server).
5+
This extension adds language support for [Haskell](https://haskell.org), powered by the [Haskell Language Server](https://github.com/haskell/haskell-language-server).
6+
As almost all features are provided by the server you might find interesting read its [documentation](https://haskell-language-server.readthedocs.io).
67

78
## Features
89

10+
You can watch demos for some of these features [here](https://haskell-language-server.readthedocs.io/en/latest/features.html#demos).
11+
912
- Warning and error diagnostics from GHC
10-
- Type information and documentation on hover
11-
- Jump to definition
13+
- Type information and documentation on hover, [including your own comments](./configuration.md#how-to-show-local-documentation-on-hover).
14+
- Jump to definition: [for now only for local code definitions](https://github.com/haskell/haskell-language-server/issues/708)
1215
- Document symbols
1316
- Highlight references in document
1417
- Code completion
1518
- Show documentation and sources in hackage
16-
- Formatting via Brittany, Floskell, Fourmolu, Ormolu or Stylish Haskell
19+
- Formatting via [Brittany](https://github.com/lspitzner/brittany), [Floskell](https://github.com/ennocramer/floskell), [Fourmolu](https://github.com/fourmolu/fourmolu), [Ormolu](https://github.com/tweag/ormolu) or [Stylish Haskell](https://github.com/haskell/stylish-haskell)
1720
- [Multi-root workspace](https://code.visualstudio.com/docs/editor/multi-root-workspaces) support
18-
- Code evaluation (Haskell Language Server), see ([Tutorial](https://github.com/haskell/haskell-language-server/blob/master/plugins/hls-eval-plugin/README.md))
19-
20-
![Eval Demo](https://raw.githubusercontent.com/haskell/haskell-language-server/master/plugins/hls-eval-plugin/demo.gif)
21-
22-
- Integration with [retrie](https://hackage.haskell.org/package/retrie)
23-
24-
![Retrie Demo](https://i.imgur.com/Ev7B87k.gif)
25-
26-
- Code lenses for explicit import lists
27-
28-
![Imports code lens Demo](https://imgur.com/pX9kvY4.gif)
29-
30-
- Generate functions from type signatures, and intelligently complete holes using [Wingman (tactics)](https://github.com/haskell/haskell-language-server/tree/master/plugins/hls-tactics-plugin)
31-
32-
![Wingman Demo](https://user-images.githubusercontent.com/307223/92657198-3d4be400-f2a9-11ea-8ad3-f541c8eea891.gif)
33-
34-
- Integration with [hlint](https://github.com/ndmitchell/hlint) to show diagnostics and apply hints via [apply-refact](https://github.com/mpickering/apply-refact)
35-
36-
![Hlint Demo](https://user-images.githubusercontent.com/54035/110860028-8f9fa900-82bc-11eb-9fe5-6483d8bb95e6.gif)
37-
38-
- Module name suggestions for insertion or correction
39-
40-
![Module Name Demo](https://user-images.githubusercontent.com/54035/110860755-78ad8680-82bd-11eb-9845-9ea4b1cc1f76.gif)
41-
42-
- Call hierarchy support
43-
44-
![Call Hierarchy in VSCode](https://github.com/haskell/haskell-language-server/raw/2857eeece0398e1cd4b2ffb6069b05c4d2308b39/plugins/hls-call-hierarchy-plugin/call-hierarchy-in-vscode.gif)
21+
- [Code evaluation](https://haskell-language-server.readthedocs.io/en/latest/features.html#code-evaluation), see its [Tutorial](https://github.com/haskell/haskell-language-server/blob/master/plugins/hls-eval-plugin/README.md)
22+
- [Integration with](https://haskell-language-server.readthedocs.io/en/latest/features.html#retrie-integration) [retrie](https://hackage.haskell.org/package/retrie), a powerful, easy-to-use codemodding tool
23+
- [Code lenses for explicit import lists](https://haskell-language-server.readthedocs.io/en/latest/features.html#explicit-import-lists)
24+
- [Generate functions from type signatures, and intelligently complete holes using](https://haskell-language-server.readthedocs.io/en/latest/features.html#wingman) [Wingman (tactics)](https://github.com/haskell/haskell-language-server/tree/master/plugins/hls-tactics-plugin)
25+
- [Integration](https://haskell-language-server.readthedocs.io/en/latest/features.html#hlint) with [hlint](https://github.com/ndmitchell/hlint), the most used haskell linter, to show diagnostics and apply hints via [apply-refact](https://github.com/mpickering/apply-refact)
26+
- [Module name suggestions](https://haskell-language-server.readthedocs.io/en/latest/features.html#module-names) for insertion or correction
27+
- [Call hierarchy support](https://haskell-language-server.readthedocs.io/en/latest/features.html#call-hierarchy)
4528

4629
## Requirements
4730

@@ -52,6 +35,8 @@ This extension adds language support for [Haskell](https://haskell.org), powered
5235

5336
## Configuration options
5437

38+
For a general picture about the server configuration, including the project setup, [you can consult the server documentation about the topic](https://haskell-language-server.readthedocs.io/en/latest/configuration.html).
39+
5540
### Path to server executable
5641

5742
If your server is manually installed and not on your path, you can also manually set the path to the executable.
@@ -72,33 +57,6 @@ This supposes it could be used to execute arbitrary programs adding a `.vscode/s
7257
For this reason its scope will be changed to `machine` so users only will be able to change it globally.
7358
See #387 for more details.
7459

75-
### Local documentation
76-
77-
Haskell Language Server can display Haddock documentation on hover and completions if the project and
78-
its dependencies have been built with the `-haddock` GHC flag.
79-
80-
- For cabal:
81-
82-
- Add to your global config file (e.g. `~/.cabal/config`):
83-
84-
```yaml
85-
program-default-options
86-
ghc-options: -haddock
87-
```
88-
89-
- Or, for a single project, run `cabal configure --ghc-options=-haddock`
90-
91-
- For stack, add to global `$STACK_ROOT\config.yaml`, or project's `stack.yaml`:
92-
93-
```yaml
94-
ghc-options:
95-
'$everything': -haddock
96-
```
97-
98-
Note that this flag will cause compilation errors if a dependency contains invalid Haddock markup,
99-
until GHC 9.0 which [will report warnings](https://gitlab.haskell.org/ghc/ghc/-/merge_requests/2377)
100-
instead.
101-
10260
### Downloaded binaries
10361

10462
This extension will download `haskell-language-server` binaries to a specific location depending on your system. If you find yourself running out of disk space, you can try deleting old versions of language servers in this directory. The extension will redownload them, no strings attached.
@@ -129,7 +87,8 @@ These are the versions of GHC that there are binaries of `haskell-language-serve
12987
| 8.6.5 ||||
13088
| 8.6.4 ||||
13189

132-
The exact list of binaries can be checked in the last release of haskell-language-server: <https://github.com/haskell/haskell-language-server/releases/latest>
90+
The exact list of binaries can be checked in the last release of haskell-language-server: <https://github.com/haskell/haskell-language-server/releases/latest>
91+
You can check the current GHC versions support status and the policy followed for deprecations [here](https://haskell-language-server.readthedocs.io/en/latest/supported-versions.html).
13392

13493
## Using multi-root workspaces
13594

0 commit comments

Comments
 (0)