README.md

# IO Color

Wrapping your `IO.inspect` and `IO.puts` in vibrant colors since 2018.

No external dependencies.

## Installation

Add `{:io_color, "~> 0.1.0"}` to your dependencies.

```elixir
def deps do
  [
    {:io_color, "~> 0.1.0"}
  ]
end
```

## Usage

```elixir
list = [
	%{"name" => "Vincent", age: 18},
	%{"name" => "Teemo", age: 21},
	%{"name" => "Clara", age: 23}
]

IOC.inspect(list, "Optional Label")
```

What it looks like:

![](doc_assets/SS.png)

What your current IO.inspect looks like:

![](doc_assets/SS2.png)



#### Wait, ```IOC.insp```?

All of these will work, choose whichever you like!

```elixir
IOC.insp(list, "something")
IOC.inspect(list, "something")
IOColor.insp(list, "something")
IOColored.insp(list, "something")
IOColor.inspect(list, "something")
IOColored.inspect(list, "something")

# `IO.puts`: accepts one arg only
IOC.puts("Some string")
IOColor.puts("Some string")
IOColored.puts("Some string")
```

#### Will my `|>`s still work?

Of course!

```elixir
conn
|> Map.get(:body_params)
|> IOC.insp("Incoming Body Params")
|> process_body_params
|> IOC.insp("Process result")
|> case do
      # ...
   end
```

##### Custom colors / other commands?

I'm currently putting this here for my personal convenience. Yeah I'm lazy to copy a single module file across all my projects, I know. But if it'll be useful to you to see more features, feel free to put in an issue and pull request, and I'll help what I can. Just saying, it seems that supporting presets (soft or hard) may be better than just custom colors, because the colour combinations are hard to get right.



## Contributing

```bash
# install erlang, elixir

git clone https://github.com/Seiyial/elix_io_color.git
cd io_color
iex -S mix run
```