mallardscript 6.0.0

Hak5 DuckyScript extended language compiler.
Documentation
# MallardScript

[![Version](https://img.shields.io/crates/v/mallardscript?style=flat-square)](https://crates.io/crates/mallardscript)
[![Build](https://img.shields.io/travis/Nate-Wilkins/mallardscript/main?style=flat-square)](https://app.travis-ci.com/github/Nate-Wilkins/mallardscript)
[![Downloads](https://img.shields.io/crates/d/mallardscript?color=%230E0&style=flat-square)](https://crates.io/crates/mallardscript)
[![Open Issues](https://img.shields.io/github/issues-raw/Nate-Wilkins/mallardscript?style=flat-square)](https://github.com/Nate-Wilkins/mallardscript/issues)
[![License](https://img.shields.io/github/license/Nate-Wilkins/mallardscript?color=%2308F&style=flat-square)](https://github.com/Nate-Wilkins/mallardscript/blob/main/LICENSE)

> Hak5 DuckyScript extended language compiler.

## Installation

```
cargo install mallardscript
```

## Usage

Compiles [MallardScript](https://github.com/Nate-Wilkins/pest_duckyscript) to DuckyScript!

```
mallardscript build --input src/index.ducky --output output/index.ducky
```

## Configuration

### Shell Completions

You can put this in your `.zshrc` file (just make sure `$HOME/.zsh_functions/` is in your
`fpath`):

```
if [[ ! -f "$HOME/.zsh_functions/_mallardscript" ]]; then
  mallardscript completions --type zsh > "$HOME/.zsh_functions/_mallardscript"
fi
```

Or you can generate yours with:

```
mallardscript completions --type $SHELL               # Where $SHELL is zsh,bash,fish,elvish,powershell
```

## Development

Written in rust. Workflows are defined in `.envrc.sh`.

## Roadmap

- Encode directly (or by library ref) in this project, so users don't have to compile twice.
- [Package System Binaries]https://rust-cli.github.io/book/tutorial/packaging.html
- Configuration file like `.mallardscriptrc`.
- Source errors would be really nice to have.
  Can be implemented with [miette]https://crates.io/crates/miette.
  Also view [pest miette]https://github.com/pest-parser/pest/issues/582.