[package]
name = "erg"
description = "The Erg programming language"
documentation = "https://docs.rs/erg"
keywords = ["erg", "programming-language"]
build = "build.rs"
version.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
repository.workspace = true
homepage.workspace = true

[workspace]
members = [
    "crates/erg_common",
    "crates/erg_compiler",
    "crates/erg_parser",
    "crates/els",
]

[workspace.package]
version = "0.6.5-nightly.1"
authors = ["erg-lang team <moderation.erglang@gmail.com>"]
license = "MIT OR Apache-2.0"
edition = "2021"
repository = "https://github.com/erg-lang/erg"
homepage = "https://erg-lang.org/"

[features]
# when "debug" feature is turned on, that of the following crates will also be turned on.
debug = ["erg_common/debug", "erg_parser/debug", "erg_compiler/debug", "els/debug"]
japanese = [
    "erg_common/japanese",
    "erg_parser/japanese",
    "erg_compiler/japanese",
    "els/japanese",
]
simplified_chinese = [
    "erg_common/simplified_chinese",
    "erg_parser/simplified_chinese",
    "erg_compiler/simplified_chinese",
    "els/simplified_chinese",
]
traditional_chinese = [
    "erg_common/traditional_chinese",
    "erg_parser/traditional_chinese",
    "erg_compiler/traditional_chinese",
    "els/traditional_chinese",
]
unicode = ["erg_common/unicode", "erg_parser/unicode", "erg_compiler/unicode", "els/unicode"]
pretty = ["erg_common/pretty", "erg_parser/pretty", "erg_compiler/pretty", "els/pretty"]
pre-commit = []
large_thread = [
    "erg_common/large_thread",
    "erg_parser/large_thread",
    "erg_compiler/large_thread",
    "els/large_thread",
]
py_compatible = ["erg_compiler/py_compatible", "els/py_compatible"]
els = ["erg_common/els", "erg_compiler/els", "dep:els"]
full-repl = ["erg_common/full-repl"]
full = ["els", "full-repl", "unicode", "pretty"]


[workspace.dependencies]
erg_common = { version = "0.6.5-nightly.1", path = "./crates/erg_common" }
erg_parser = { version = "0.6.5-nightly.1", path = "./crates/erg_parser" }
erg_compiler = { version = "0.6.5-nightly.1", path = "./crates/erg_compiler" }
els = { version = "0.1.17-nightly.1", path = "./crates/els" }

[dependencies]
erg_common = { workspace = true }
erg_parser = { workspace = true }
erg_compiler = { workspace = true }
els = { workspace = true, optional = true }

[build-dependencies]
erg_common = { workspace = true }

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

# [profile.release]
# panic = 'abort'
