pascal 0.1.4

A modern Pascal compiler with build/intepreter/package manager built with Rust
Documentation
[package]
name = "pascal"
version = "0.1.4"
edition = "2024"
authors = ["Ying Kit WONG"]
license = "Apache-2.0"
repository = "https://github.com/yingkitw/pascal-rs"
keywords = ["compiler", "pascal", "build", "intepreter", "package-manager"]
categories = ["command-line-utilities", "compilers"]
description = "A modern Pascal compiler with build/intepreter/package manager built with Rust"
documentation = "https://docs.rs/pascal"
homepage = "https://github.com/yingkitw/pascal-rs"

[[bin]]
name = "pascal"
path = "src/main.rs"

[[example]]
name = "mcp_parallel"
required-features = ["mcp"]

[dependencies]
# Core dependencies
clap = { version = "4.5", features = ["derive"] }
anyhow = "1.0"
thiserror = "2.0"
logos = "0.15"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
toml = "0.8"
bincode = "1.3"
rayon = "1.10"
rmcp = "0.14"
sha2 = "0.10"

# CLI output
colored = "2.1"
num_cpus = "1.16"
strsim = "0.11"
pulldown-cmark = "0.9"
notify = "6.1"

# LSP support (optional)
tower-lsp = { version = "0.20", optional = true }
tokio = { version = "1", features = ["full"], optional = true }

# macOS GUI support (optional)
cocoa = { version = "0.25", optional = true }
objc = { version = "0.2.7", optional = true }

# Debug support (optional)  
gimli = { version = "0.31", optional = true }

# Profiling (optional)
pprof = { version = "0.14", optional = true, features = ["flamegraph"] }

[dev-dependencies]
assert_cmd = "2.0"
predicates = "3.1"
tempfile = "3.10"
assert_matches = "1.5"

[features]
default = []
# Minimal build is default (no lsp, mcp, gui). Use --features full for all.
full = ["lsp", "mcp", "gui"]
mcp = []  # MCP server for AI integration (optional)
lsp = ["tower-lsp", "tokio"]
async = ["tokio"]  # Async module loading (e.g. for LSP)
gui = ["cocoa", "objc"]
debug = ["gimli"]
profile = ["pprof"]

[workspace]
resolver = "3"