Go to file
2016-05-12 05:25:53 -04:00
app Use sensible defaults for the CLI 2016-05-11 11:31:52 -04:00
src/Unused Print message when no results are found 2016-05-12 05:25:53 -04:00
test Improve likelihood calculation and include reasons for evaluation 2016-05-11 05:18:55 -04:00
.gitignore Ignore tmp 2016-05-01 05:25:50 -04:00
.travis.yml Test unused on TravisCI 2016-05-11 23:09:35 -04:00
LICENSE Initial 2016-04-28 05:37:06 -04:00
NEWS Initial release v0.1.0.0 2016-05-11 21:36:21 -04:00
README.md Include TravisCI build status 2016-05-11 23:24:42 -04:00
Setup.hs Initial 2016-04-28 05:37:06 -04:00
stack.yaml Initial 2016-04-28 05:37:06 -04:00
unused.cabal Warn on everything, error on anything 2016-05-11 05:32:42 -04:00

Unused Build Status

A command line tool in Haskell to identify unused code.

Image of Unused Output

Installing

Homebrew

You can install my formulae via Homebrew with brew tap:

brew tap joshuaclayton/formulae

Next, run:

brew install unused

Alternatively, you can install by hand.

Stack

This project uses Haskell and Stack.

Once you have these tools installed:

stack setup
stack install

This will generate a binary in $HOME/.local/bin; ensure this directory is in your $PATH.

Using Unused

unused reads from a pipe expecting a series of tokens to search the codebase for.

This could be done with echo:

echo "module\nimport" | unused

Or pulling in a ctags file:

cat .git/tags | cut -f1 | sort -u | unused

My end goal is to have the latter rolled up into unused itself, so you can navigate to a directory, run unused, and everything works as expected.

Requirements

Unused leverages Ag to analyze the codebase; as such, you'll need to have ag available in your $PATH. This is set as an explicit dependency in Homebrew.

Testing

To run the test suite, run:

stack test

License

Copyright 2016 Josh Clayton. See the LICENSE.