Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve qualified import plugin readme #2605

Merged
merged 2 commits into from
Jan 20, 2022
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
31 changes: 31 additions & 0 deletions plugins/hls-qualify-imported-names-plugin/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,34 @@

![Qualify Imported Names Demo](qualify-imported-names-demo.gif)

## 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

1. Put cursor over the import declaration you want to qualify names from.
Expand All @@ -14,6 +42,9 @@
- 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
Expand Down