hask-replace
hask-replace
is a command-line tool that simplifies the process of renaming
Haskell, Elm, and Idris modules. It can also be used to rename packages.
The Pitch
Here's an example of how you would use hr
:
As you can see, it's a lot less painful than whatever witchcraft you'd have to resort to to accomplish the same thing in bash. Not only that, it works for Idris and Elm too!
Installation
Script
The easiest way to install for most users is probably via a shell script, viz.
curl -LSfs https://japaric.github.io/trust/install.sh | sh -s -- --git vmchale/hask-replace
Binary releases
If the script doesn't work, you can also download prebuilt binaries. You can find binaries for various platforms on the release page.
Cargo
First, install cargo. Then:
You will need to use the nightly release for this to work; if in doubt run
Performance
Package | Task | Time |
---|---|---|
lens | Rename module | 14.77ms |
dhall | Rename Module | 7.41 ms |
haskell-src-exts | Rename Module | 30.29 ms |
Use
hr
can also be used on Idris.
Vim Plugin
There is a vim plugin for hask-replace here. It supports copying and moving Haskell, Elm, and Idris modules.