23 releases (4 breaking)
Uses old Rust 2015
0.6.0 | Oct 15, 2017 |
---|---|
0.4.6 | Sep 16, 2017 |
0.4.2 | Aug 18, 2017 |
0.3.5 | Aug 10, 2017 |
0.1.6 | Jul 29, 2017 |
#47 in #haskell
50 downloads per month
23KB
519 lines
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
:
cabal unpack dhall
cd dhall-1.5.1/
hr module . "Dhall.Import" "Dhall.Dependencies"
cabal new-build
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:
$ cargo install hask-replace
You will need to use the nightly release for this to work; if in doubt run
rustup run nightly cargo install hask-replace
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.
git clone https://github.com/HuwCampbell/idris-lens.git
cd idris-lens
hr idris . Control.Lens.Maths Control.Lens.Math
idris --build lens.ipkg
Vim Plugin
There is a vim plugin for hask-replace here. It supports copying and moving Haskell, Elm, and Idris modules.
Dependencies
~6–13MB
~168K SLoC