dotnet / dotnet/fsharp

Better context and discoverability for custom operations

Open
#9,534 0 comments 3 reactions 0 assignees View on GitHub
Area-LangService-AutoComplete Feature Request
Dominant language
F#
Stars
4.3k
Forks
876
Avg merge
4d 11h
Merged PRs (30d)
131

Description

See here for more context: https://github.com/fsharp/fslang-suggestions/issues/880

Essentially, when inside of a CE it would be nice if completion had a better understanding of the custom operations that are valid for the CE. From Saturn library:

```fsharp
let endpointPipe = pipeline {
plug head
plug requestId
}
```
If I type `p`, a valid custom operation is at the top of the completion list:

![image](https://user-images.githubusercontent.com/6309070/85349183-a2feb000-b4b2-11ea-8299-adef4ffd92de.png)

But if I type `a`, I get a full completion list, the vast majority of which will never actually compile:

![image](https://user-images.githubusercontent.com/6309070/85349212-bf9ae800-b4b2-11ea-83a3-a42483ac973d.png)

This isn't inherently a problem, but the lack of context about the code we're in can show up pretty quickly.

Additionally, it'd be nice if there was a way to essentially query for a list of available custom operations for a given CE. This is a part of a greater set of problems around context with completions.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.