[package]
edition = "2024"
rust-version = "1.88.0"
name = "uiua"
version = "0.18.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A stack-based array programming language"
documentation = "https://docs.rs/uiua"
readme = "readme.md"
keywords = [
"uiua",
"array",
"stack",
"language",
"apl",
]
categories = [
"compilers",
"algorithms",
"multimedia",
"parser-implementations",
]
license = "MIT"
repository = "https://github.com/uiua-lang/uiua"
[features]
apng = ["dep:png"]
audio = [
"hodaun",
"audio_encode",
"ogg",
]
audio_encode = ["hound"]
batteries = [
"gif",
"apng",
"image",
"audio_encode",
"csv",
"xlsx",
"json5",
"fft",
"font_shaping",
"compress",
]
binary = [
"ctrlc",
"notify",
"clap",
"color-backtrace",
"rustyline",
"native_sys",
"terminal-light",
"terminal_size",
]
binary_batteries = [
"ffi",
"ogg",
]
bytes = []
clipboard = ["arboard"]
compress = ["flate2"]
debug = []
default = [
"binary",
"batteries",
"binary_batteries",
"terminal_image",
"lsp",
"stand",
"tls",
"invoke",
"trash",
"native_sys",
"raw_mode",
"clipboard",
"opt",
]
ffi = [
"libffi",
"libloading",
]
fft = [
"rustfft",
"num-complex",
]
font_shaping = [
"cosmic-text",
"sys-locale",
]
full = [
"audio",
"webcam",
"window",
]
gif = [
"dep:gif",
"image",
]
invoke = ["open"]
lsp = [
"tower-lsp",
"tokio",
"native_sys",
]
native_sys = []
no_self_update = []
ogg = ["vorbis_rs"]
opt = []
profile = ["serde_yaml"]
raw_mode = [
"rawrrr",
"native_sys",
]
stand = ["native_sys"]
system = ["libffi?/system"]
terminal_image = [
"viuer",
"image",
"icy_sixel",
]
tls = [
"rustls",
"webpki-roots",
"rustls-pemfile",
]
web = [
"wasm-bindgen",
"js-sys",
"web-sys",
]
webcam = [
"image",
"nokhwa",
]
window = [
"eframe",
"rmp-serde",
"image",
"native-dialog",
]
xlsx = [
"calamine",
"simple_excel_writer",
]
[lib]
name = "uiua"
path = "src/lib.rs"
[[bin]]
name = "uiua"
path = "src/main.rs"
required-features = ["binary"]
[dependencies.arboard]
version = "3"
optional = true
[dependencies.bitflags]
version = "2"
features = ["serde"]
[dependencies.bytemuck]
version = "1.17"
features = [
"must_cast",
"derive",
"extern_crate_alloc",
]
[dependencies.calamine]
version = "0.28.0"
optional = true
[dependencies.clap]
version = "4"
features = ["derive"]
optional = true
[dependencies.color-backtrace]
version = "0.6.1"
optional = true
[dependencies.colored]
version = "2"
[dependencies.cosmic-text]
version = "0.12.1"
optional = true
[dependencies.crossbeam-channel]
version = "0.5.12"
[dependencies.csv]
version = "1"
optional = true
[dependencies.ctrlc]
version = "3.4.6"
optional = true
[dependencies.dashmap]
version = "6"
features = ["serde"]
[dependencies.ecow]
version = "0.2.3"
features = ["serde"]
[dependencies.eframe]
version = "0.33.0"
features = ["persistence"]
optional = true
[dependencies.enum-iterator]
version = "2.3.0"
[dependencies.flate2]
version = "1"
optional = true
[dependencies.gif]
version = "0.13.1"
features = ["std"]
optional = true
default-features = false
[dependencies.hodaun]
version = "0.4.1"
features = [
"output",
"wav",
]
optional = true
[dependencies.hound]
version = "3.5.1"
optional = true
[dependencies.icy_sixel]
version = "0.1.2"
optional = true
[dependencies.image]
version = "0.25"
features = [
"bmp",
"gif",
"ico",
"jpeg",
"png",
"qoi",
"webp",
]
optional = true
default-features = false
[dependencies.indexmap]
version = "2"
features = ["serde"]
[dependencies.js-sys]
version = "0.3.69"
optional = true
[dependencies.json5]
version = "1.3.0"
optional = true
[dependencies.libffi]
version = "4"
optional = true
[dependencies.libloading]
version = "0.8.3"
optional = true
[dependencies.native-dialog]
version = "0.7.0"
optional = true
[dependencies.nokhwa]
version = "0.10.9"
features = ["input-native"]
optional = true
[dependencies.notify]
version = "7"
optional = true
[dependencies.num-complex]
version = ">=0.4.1"
features = ["bytemuck"]
optional = true
default-features = false
[dependencies.num_cpus]
version = "1.16.0"
[dependencies.open]
version = "5"
optional = true
[dependencies.parking_lot]
version = "0.12.1"
[dependencies.paste]
version = "1.0.14"
[dependencies.pathdiff]
version = "0.2.1"
[dependencies.png]
version = "0.17.16"
optional = true
[dependencies.rand]
version = "0.9.2"
features = ["small_rng"]
[dependencies.rapidhash]
version = "4"
[dependencies.rawrrr]
version = "0.2.1"
optional = true
[dependencies.rayon]
version = "1.9.0"
[dependencies.regex]
version = "1.10.3"
[dependencies.rmp-serde]
version = "1.3.0"
optional = true
[dependencies.rustfft]
version = "6.2.0"
optional = true
[dependencies.rustls]
version = "0.23.35"
features = [
"std",
"tls12",
"ring",
]
optional = true
default-features = false
[dependencies.rustls-pemfile]
version = "2.1.2"
optional = true
[dependencies.rustyline]
version = "15.0.0"
optional = true
[dependencies.serde]
version = "1"
features = [
"derive",
"rc",
]
[dependencies.serde_json]
version = "1.0.115"
[dependencies.serde_yaml]
version = "0.9.33"
optional = true
[dependencies.simple_excel_writer]
version = "0.2.0"
optional = true
[dependencies.smallvec]
version = "1.9"
features = [
"serde",
"union",
"const_new",
]
[dependencies.sys-locale]
version = "0.3.1"
optional = true
[dependencies.terminal-light]
version = "1.4.0"
optional = true
[dependencies.terminal_size]
version = "0.4.2"
optional = true
[dependencies.thread_local]
version = "1"
[dependencies.threadpool]
version = "1.8.1"
[dependencies.time]
version = "0.3.36"
features = ["local-offset"]
[dependencies.tokio]
version = "1"
features = [
"io-std",
"rt",
]
optional = true
[dependencies.tower-lsp]
version = "0.20.0"
features = ["proposed"]
optional = true
[dependencies.trash]
version = "5.2.2"
optional = true
[dependencies.uiua_parser]
version = "0.18.0"
[dependencies.unicode-segmentation]
version = "1.10"
[dependencies.viuer]
version = "0.9"
optional = true
[dependencies.vorbis_rs]
version = "0.5.5"
optional = true
[dependencies.wasm-bindgen]
version = "=0.2.100"
optional = true
[dependencies.web-sys]
version = "0.3.60"
optional = true
[dependencies.webpki-roots]
version = "1.0.2"
optional = true
[lints.clippy]
dbg_macro = "warn"
multiple_crate_versions = "allow"
negative_feature_names = "allow"
non_std_lazy_statics = "warn"
print_stdout = "warn"
[lints.clippy.cargo]
level = "warn"
priority = -1
[profile.dev]
incremental = true