file-sniffer 3.0.1

Command-line tool to find build artifacts and junk on your computer.
Documentation
# file-sniffer

[![Build Status](https://travis-ci.org/vmchale/file-sniffer.svg?branch=master)](https://travis-ci.org/vmchale/file-sniffer)

If you do a significant amount of programming, you'll probably end up with
build artifacts scattered about. `sniff` is a tool to help you find those
artifacts. It's especially useful when you're writing build systems, 
because you can make sure your `clean` command gets everything.

## Installation

### Binary install

The easiest way to install for Linux or Windows is to download a binary from the [releases
page](https://github.com/vmchale/file-sniffer/releases).

### Cargo

If your platform doesn't have binaries, get [cargo](https://rustup.rs/). Then:

```bash
 $ cargo install file-sniffer
```

If you want the absolute latest version:

```bash
 $ cargo install --git https://github.com/vmchale/file-sniffer 
```

Make sure you are on nightly; if in doubt run

```bash
rustup run nightly cargo install file-sniffer
```

### Shell completions

After setting `BASH_COMPLETIONS_DIR` or `FISH_COMPLETIONS_DIR`, you can use the
`bash` or `fish` features like so:

```bash
 $ cargo install --features fish file-sniffer
```

## Use

Currently, `sniff` looks for files that either have an extension associated with artifacts
or executable files listed in the relevant `.gitignore`. 

Search current directory for directories with build artifacts:

```bash
 $ sniff ar
```

Look in `$DIR` for build artifacts and sort by size:

```bash
 $ sniff ar $DIR --sort
```

Look for artifacts or directories containing artifacts that occupy more than 1GB of disk space:


```bash
 $ sniff ar -t1G
```

### Accessibility

To turn off colorized output:

```bash
export CLICOLOR=0
```

### Features

  - [x] find "likely build artifact" directories
    - [x] use .gitignore/path to make decision
    - [ ] smart output (only first few files per dir)
  - [ ] match speed of gnu utils on traversals
    - [x] faster when finding artifacts
    - [x] faster with excludes
    - [x] faster on small directories
    - [x] beat du on large directories
  - [x] colorized output
  - [x] sort results by size

#### Languages Supported

The *intent* is to support basically anything, so if your DOC is not on the
list, feel free to open a PR or start an issue.

  - [x] Haskell (incl. GHCJS)
  - [x] rust
  - [x] julia
  - [x] python
  - [x] Elm
  - [x] nim
  - [x] Vimscript
  - [x] Idris
  - [x] FORTRAN
  - [ ] C

#### Foreign-language binaries

These are still very much works in progress; as of now errors and warnings are still in
English. Binaries will be available once things stabilize.

Français:

```bash
cargo install file-sniffer --no-default-features --feature francais # crates.io doesn't permit unicode in feature names 
```

Deutsch:

```bash
cargo install file-sniffer --no-default-features --feature deutsch
```