mirror of
https://github.com/haskell/haskell-language-server.git
synced 2024-09-11 16:56:14 +03:00
.. | ||
src/Ide/Plugin | ||
test | ||
hls-qualify-imported-names-plugin.cabal | ||
LICENSE | ||
qualify-imported-names-demo.gif | ||
README.md |
Qualify Imported Names
Summary
Rewrite imported names to be qualified.
Motivation
You've imported a number of modules, and have written a lot of code with unqualified names. You want to import a new module but you know there will be a number name clashes so you want to switch your current usage of names to be qualified.
It would be nice if you could change
import Blah
to
import Blah as Bloo
then magically qualify all the previous names imported from Blah
with Bloo
. After doing that you could then change
import Blah as Bloo
to
import qualified Blah as Bloo
and import your the new module using names from it without worry.
Well, now you can...
Usage
- Put cursor over the import declaration you want to qualify names from.
- Initiate a Code Action.
- Select
Qualify imported names
.
Features
- Names are qualified on a per-import declaration basis.
- Names are qualified by the imported module's alias if it has one, otherwise by the imported module's name.
- If the import declaration has an explicit import list then the plugin will qualify only names on the list.
- If the import declaration has an explicit hiding list then the plugin will qualify names from the imported module that are not on the list.
Future possibilities
- It may be possible to use the LSP rename functionality to ask for a name so that we don't have to do the
as Alias
dance.
Change log
1.0.0.1
- GHC 9.2.1 compatibility
1.0.0.0
- Released...