[package]
name = "rant"
version = "4.0.0-alpha.17"
authors = ["Berkin <TheBerkin@users.noreply.github.com>"]
edition = "2018"
description = "The Rant procedural templating language"
license = "AGPL-3.0-or-later"
repository = "https://github.com/rant-lang/rant"
homepage = "https://rant-lang.org"
keywords = ["rant", "rantlang", "procedural", "text", "generation"]
categories = ["text-processing", "game-development", "template-engine"]
readme = "README.md"
include = [
  "**/*.rs", 
  "Cargo.toml",
  "README.md",
  "LICENSE*",
  "THIRD_PARTY_LICENSES*",
  "CHANGELOG.md",
  "!tests/unincluded_*.rs"
]
default-run = "rant"
# publish = false

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[profile.release]
opt-level = 3
codegen-units = 1

[[bin]]
name = "rant"
path = "src/tools/cli/main.rs"
required-features = ["cli"]

[features]
cli = ["argh", "codemap", "codemap-diagnostic", "colored", "ctrlc", "embedded-triple", "exitcode"]
vm-trace = []


[dependencies]
# Library
# broom = "0.3.0"                   # Rant's garbage collector.
cast = "0.2.3"                    # Automates a lot of native <-> Rant value conversions  
cervine = "0.0.6"                 # Simplifies Rant's by-ref variable passing code.
fnv = "1.0.7"                     # Hashing algorithm used by Rant's map type and other internals.
line-col = "0.2.1"                # Calculates locations for compiler messages.
logos = "0.12.0"                  # Powers the lexer.
once_cell = "1.5.2"               # Lazy initialization for various internals.
quickscope = "0.1.6"              # Powers the variable scoping system.
rand = "0.8.3"                    # RNG utilities used throughout Rant.
rand_xoshiro = "0.6.0"            # RNG implementation used by the Rant runtime.
smallvec = "1.6.1"                # List optimization used throughout Rant.
smartstring = "0.2.6"             # String optimization used throughout Rant.
unicode-segmentation = "1.7.1"    # Used by Rant to index strings by grapheme cluster.

# CLI
argh = { version = "0.1.4", optional = true }
codemap = { version = "0.1.3", optional = true }
codemap-diagnostic = { version = "0.1.1", optional = true }
colored = { version = "2.0.0", optional = true }
ctrlc = { version = "3.1.7", optional = true }
embedded-triple = { version = "0.1.0", optional = true }
exitcode = { version = "1.1.2", optional = true }

[dev-dependencies]
assert_matches = "1.5.0"