haskell / haskell/haskell-language-server

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

未关闭
#487 2 条评论 3 个 reaction 已指派 0 人 在 GitHub 查看
component: ghcide type: enhancement
主要语言
Haskell
星标
3k
派生
455
平均合并
2 天 19 小时
30 天内合并 PR
11

描述

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.

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。