haskell / haskell/haskell-language-server

Document symbols could include local definitions

Open
#3,628 8 comments 0 reactions 0 assignees View on GitHub
Hackathon level: easy type: enhancement
Dominant language
Haskell
Stars
3k
Forks
455
Avg merge
2d 19h
Merged PRs (30d)
11

Description

At the moment we include all the "top-level" stuff. But we _could_ include local definitions as well. The thing that would be awkward is reflecting nested scopes, but often they are also associated with a symbol.

It might also be rather noisy, but arguably that's a client problem? e.g. things should be shown collapsed by default, if you open up a function, sure you get lots of stuff.

Examples to think about:
```
f x = g x
where
g = ...

f x =
let g = ..
in g x

f x =
-- awkward nesting and shadowing
let g = let g = ... in g
in g x

f x = do
-- nest g inside res? what if we discarded the result?
res <- let g = ... in g x
pure res
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.