From 731381a0f8e2a8c3335e5f3b33b052adfb46f4c9 Mon Sep 17 00:00:00 2001 From: Joshua Clayton Date: Thu, 12 May 2016 06:37:30 -0400 Subject: [PATCH] Discuss what it can be used on --- README.md | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index f3c7d16..4c06c45 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,29 @@ # Unused [![Build Status](https://travis-ci.org/joshuaclayton/unused.svg?branch=master)](https://travis-ci.org/joshuaclayton/unused) -A command line tool in Haskell to identify unused code. +A command line tool to identify unused code. ![Image of Unused Output](http://i.giphy.com/3oEjHGgyV2EDdy1Ogw.gif) +## "What kinds of projects can I used it on?" + +Anything. + +Yes, literally anything. + +It's probably best if you have a ctags file you can pipe into it, but if you +have another way to pipe a bunch of methods/functions/classes/modules/whatever +in, that works too. + +Right now, there are some special cases built in for Rails and Phoenix apps +(specifically, assumptions about what's fine to only have one reference to, +e.g. Controllers in Rails and Views in Phoenix), but it'll work on Rubygems, +Elixir packages, or anything else. + +That said, be confident the code you're removing won't break your program. +Especially with projects built in Ruby, Elixir, or JavaScript, there are ways +to dynamically trigger or define behavior that may be surprising. A test suite +can help here, but still cannot determine every possible execution path. + ## Installing ### Homebrew