xenv 0.2.0

A cross-shell env sourcing command
Documentation
# xenv

![GitHub Actions](https://github.com/silver-panda/xenv/workflows/CI/badge.svg)

A cross-shell env sourcing command.

I use [fish](https://fishshell.com) a lot, but I also like to do

```bash
source .env
```

when I want to source specific environment variables for a shell session.

As far as I know `fish` doesn't have this capability (natively), and I figured I would write something that could work across different shells, just in case I switch to `zsh` or something else.

## installation and usage

To install it, you need `cargo` installed. Once installed run the following command:

```fish
cargo install xenv
```

```fish
# this will look for a .xenv file in your current working directory
xenv echo hello this is my command

# you can also override this with the XENV_PATH environment variable

# if using fish < 3.1, you'll need to do 'env XENV_PATH
XENV_PATH=xenv.env xenv env | rg foo
```

## .xenv file format

It'll follow the format for any `.env` file, but for reference, here's the [docker-compose .env rules](https://docs.docker.com/compose/env-file/#syntax-rules)

```bash
# here is an example
FOO=bar

# it's case insensitive
foo=bar

# empty keys will be skipped
=qux

# empty values are allowed
BANG=
```