[package]
name = "sigil-parser"
version = "0.3.0"
edition = "2021"
description = "Parser and native compiler for the Sigil programming language - a language that tracks data trust at the type level"
authors = ["Lilith Crook <lilith@daemoniorum.com>"]
license = "MIT"
repository = "https://github.com/Daemoniorum-LLC/sigil-lang"
homepage = "https://sigil-lang.com"
documentation = "https://sigil-lang.com/pages/docs.html"
readme = "README.md"
keywords = ["parser", "compiler", "programming-language", "jit", "ai"]
categories = ["compilers", "development-tools"]
[features]
default = ["jit"]
jit = ["cranelift-codegen", "cranelift-frontend", "cranelift-jit", "cranelift-module", "cranelift-native"]
llvm = ["inkwell"]
wasm = ["wasm-encoder"]
lsp = ["tower-lsp", "tokio"]
protocols = ["protocol-core", "grpc", "http-client", "websocket", "kafka", "amqp", "graphql"]
protocol-core = ["tokio", "url", "async-trait", "futures-util", "tower"]
grpc = ["protocol-core", "tonic", "prost", "prost-types"]
http-client = ["protocol-core", "reqwest", "hyper", "hyper-util", "http", "http-body-util"]
websocket = ["protocol-core", "tokio-tungstenite", "tungstenite"]
kafka = ["protocol-core", "rdkafka"]
amqp = ["protocol-core", "lapin"]
graphql = ["protocol-core", "graphql_client"]
[dependencies]
thiserror = "1.0"
unicode-xid = "0.2"
logos = "0.14"
rustyline = { version = "14.0", features = ["derive"] }
ariadne = "0.4"
strsim = "0.11"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
toml = "0.8"
rayon = "1.10"
walkdir = "2.4"
whatlang = "0.16"
rust-stemmers = "1.2"
tiktoken-rs = "0.5"
sha2 = "0.10"
sha3 = "0.10"
blake3 = "1.5"
md-5 = "0.10"
base64 = "0.22"
hex = "0.4"
aes-gcm = "0.10"
chacha20poly1305 = "0.10"
ed25519-dalek = { version = "2.1", features = ["rand_core"] }
x25519-dalek = { version = "2.0", features = ["static_secrets"] }
argon2 = "0.5"
hkdf = "0.12"
pbkdf2 = { version = "0.12", features = ["simple"] }
hmac = "0.12"
rand = "0.8"
rand_core = "0.6"
getrandom = "0.2"
vsss-rs = "4.0"
regex = "1.10"
unicode-normalization = "0.1"
unicode-segmentation = "1.10"
unicode-script = "0.5"
unicode-bidi = "0.3"
unicode-width = "0.1"
deunicode = "1.4"
icu_collator = "1.5"
icu_locid = "1.5"
icu_casemap = "1.5"
icu_segmenter = "1.5"
uuid = { version = "1.10", features = ["v4", "fast-rng"] }
cranelift-codegen = { version = "0.113", optional = true }
cranelift-frontend = { version = "0.113", optional = true }
cranelift-jit = { version = "0.113", optional = true }
cranelift-module = { version = "0.113", optional = true }
cranelift-native = { version = "0.113", optional = true }
libc = "0.2"
num_cpus = "1.16"
dirs = "5.0"
inkwell = { version = "0.6", features = ["llvm18-1"], optional = true }
wasm-encoder = { version = "0.219", optional = true }
tokio = { version = "1.35", features = ["full"], optional = true }
tonic = { version = "0.12", optional = true }
prost = { version = "0.13", optional = true }
prost-types = { version = "0.13", optional = true }
reqwest = { version = "0.12", features = ["json", "stream", "gzip", "brotli", "multipart", "blocking"], optional = true }
hyper = { version = "1.4", features = ["full"], optional = true }
hyper-util = { version = "0.1", optional = true }
http = { version = "1.1", optional = true }
http-body-util = { version = "0.1", optional = true }
tokio-tungstenite = { version = "0.24", features = ["native-tls"], optional = true }
tungstenite = { version = "0.24", features = ["native-tls"], optional = true }
futures-util = { version = "0.3", optional = true }
rdkafka = { version = "0.36", features = ["tokio"], optional = true }
lapin = { version = "2.5", optional = true }
graphql_client = { version = "0.14", optional = true }
url = { version = "2.5", optional = true }
async-trait = { version = "0.1", optional = true }
tower = { version = "0.5", optional = true }
tower-lsp = { version = "0.20", optional = true }
notify = "6.1"
globset = "0.4"
tree-sitter = "0.20"
tree-sitter-rust = "0.20"
tree-sitter-python = "0.20"
tree-sitter-javascript = "0.20"
tree-sitter-typescript = "0.20"
tree-sitter-go = "0.20"
tree-sitter-c = "0.20"
tree-sitter-cpp = "0.20"
tree-sitter-java = "0.20"
tree-sitter-json = "0.20"
tree-sitter-css = "0.20"
tree-sitter-bash = "0.20"
[dev-dependencies]
pretty_assertions = "1.4"
proptest = "1.4"
wasmparser = "0.219"
[[bin]]
name = "sigil"
path = "src/main.rs"
[lib]
name = "sigil_parser"
path = "src/lib.rs"