haskell / haskell/haskell-language-server

Unify "import action" and "import code lens" behaviour

Aberta
#487 2 comentários 3 reações 0 responsáveis Ver no GitHub
component: ghcide type: enhancement
Linguagem predominante
Haskell
Estrelas
3k
Forks
455
Merge médio
2d 19h
PRs com merge (30d)
11

Descrição

The import code lens action (hover over non-explicit imports and trigger a code lens action) and the import code action (hover over an unimported identifier and trigger a code action) differ in some ways:

0. the code action imports things with explicit constructors (e.g. `Either(Left, Right)` instead of `Either(..)`)
1. the code action **fails** to distinguish between a constructor and a type, (e.g. if I want to import `Data.Either.Left` it will generate `import Data.Either (Left)`, which is not valid)

I feel that both for consistency, and as an improvement to the code action (point 0. is subjective, but point 1. is definitely a bug), it would be nice if these two could be unified, to the behaviour of the code lens.

Is there some technical reason to be unable to do so, e.g. "before we have the imports we haven't loaded necessary data and are therefore unable to determine whether `Left` should be a constructor or a type"?

I am also willing to do work on this, if someone is willing to provide guidance.

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.