Skip to content

Commit 49a4b75

Browse files
authored
Add inlay hints idea (#177)
1 parent 87e28a8 commit 49a4b75

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

content/ideas/inlay-hints.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
---
2+
title: Inlay hints in haskell-language-server
3+
---
4+
5+
Inlay hints are a relatively new langauge server protocol
6+
feature that allow servers to display additional information
7+
inline in the user's editor, and in some cases triggering
8+
edits when clicked.
9+
10+
They have a wide variety of uses, the [HLS issue](https://github.com/haskell/haskell-language-server/issues/2938)
11+
discusses some of them. For example:
12+
13+
- Replacing the bulky import lens with a compact inlay hint
14+
- Type annotations on various kinds of binding
15+
- Explicit display of record field names when they are omitted
16+
- More we haven't thought of!
17+
18+
This project would be to try and implement as many of these
19+
inlay hint uses as possible in HLS.
20+
21+
## Mentorship
22+
23+
Michael Peyton Jones will mentor.
24+
25+
## Difficulty and size
26+
27+
Much of this project will not be too difficult, however it will
28+
require understanding and modifying many parts of HLS's codebase,
29+
which is non-trivial. We may also need to work out how to get
30+
additional information from GHC, which will require interacting
31+
with GHC, and possibly contributing fixes upstream.
32+
33+
**Difficulty**: medium
34+
**Size**: A basic version is probably doable in 175 hours, but
35+
there is probably 350 hours worth of work, or the project could
36+
extend into implementing other missing LSP features.

0 commit comments

Comments
 (0)