[package]
name = "falsec"
version = "0.1.7"
default-run = "falsec"
autobins = false
edition.workspace = true
rust-version.workspace = true
authors = ["Maxi <maxi.barmetler@gmail.com>"]
readme = "../README.md"
license.workspace = true
repository.workspace = true
homepage.workspace = true
description = """
An interpreter and compiler for the esotheric programming language FALSE.
"""
categories = ["compilers", "command-line-utilities"]
keywords = ["false"]

[lib]
name = "falsec_cli"
path = "src/lib.rs"

[[bin]]
name = "falsec"
path = "src/main.rs"
required-features = ["runtime"]

[[bin]]
name = "falsec-print-completions"
path = "src/bin/print_completions.rs"
required-features = ["completions"]

[dependencies]
clap = { version = "4.5", features = ["derive"] }
clap_complete = { version = "4.5", optional = true }
anstyle = "1.0.10"
falsec-types = { version = "0.1.1", path = "../falsec-types", optional = true }
falsec-parser = { version = "0.1.2", path = "../falsec-parser", optional = true }
falsec-interpreter = { version = "0.1.4", path = "../falsec-interpreter", optional = true }
falsec-analyzer = { version = "0.1.2", path = "../falsec-analyzer", optional = true }
falsec-compiler = { version = "0.1.2", path = "../falsec-compiler", optional = true }
serde = { version = "1.0", optional = true, features = ["derive"] }
toml = { version = "0.9.11", optional = true }
json5 = { version = "1.3.0", optional = true }
serde_json = { version = "1.0", optional = true, features = ["preserve_order"] }
serde_yaml = { version = "0.9", optional = true }

[features]
completions = ["dep:clap_complete"]
runtime = [
    "dep:falsec-types",
    "dep:falsec-parser",
    "dep:falsec-interpreter",
    "dep:falsec-analyzer",
    "dep:falsec-compiler",
    "dep:serde",
    "dep:toml",
    "dep:json5",
    "dep:serde_json",
    "dep:serde_yaml",
    "falsec-types/serde",
]
default = ["runtime"]
