[package] authors = [ "Ajeet D'Souza <98ajeet@gmail.com>", "Kartik Sharma ", ] description = "A compiler, VM, language server, and online playground for the Lox programming language" edition = "2021" keywords = ["compiler", "interpreter", "language", "lox", "vm"] license = "MIT" name = "loxcraft" repository = "https://github.com/ajeetdsouza/loxcraft" rust-version = "1.65" version = "0.1.1" [badges] maintenance = { status = "actively-developed" } [features] default = ["lsp", "repl"] gc-off = [] gc-stress = [] gc-trace = [] lsp = ["dep:tokio", "dep:tower-lsp"] pprof = ["dep:pprof"] repl = [ "dep:dirs", "dep:nu-ansi-term", "dep:reedline", "dep:tree-sitter", "dep:tree-sitter-highlight", "dep:tree-sitter-lox", ] vm-trace = [] [dependencies] anyhow = "1.0.52" arrayvec = "0.7.2" clap = { version = "4.0.0", features = ["derive"] } codespan-reporting = "0.11.1" dirs = { version = "5.0.0", optional = true } hashbrown = { version = "0.13.1", default-features = false, features = [ "inline-more", ] } iota = "0.2.2" lalrpop-util = "0.19.6" logos = "0.12.0" nu-ansi-term = { version = "0.47.0", optional = true } pprof = { version = "0.11.1", features = [ "cpp", "flamegraph", ], optional = true } reedline = { version = "0.18.0", optional = true } rustc-hash = "1.1.0" termcolor = "1.1.3" thiserror = "1.0.34" tokio = { version = "1.17.0", features = ["io-std", "rt"], optional = true } tower-lsp = { version = "0.19.0", optional = true } tree-sitter = { version = "0.20.4", optional = true } tree-sitter-highlight = { version = "0.20.1", optional = true } tree-sitter-lox = { version = "0.1.0", optional = true } [target.'cfg(target_family = "wasm")'.dependencies] wasm-bindgen = "0.2.67" [target.'cfg(not(any(miri, target_family = "wasm")))'.dependencies] mimalloc = { version = "0.1.27", default-features = false } [build-dependencies] build-deps = "0.1.4" lalrpop = { version = "0.19.1", default-features = false } [dev-dependencies] pretty_assertions = "1.1.0" test-generator = "0.3.0" [profile.release] codegen-units = 1 debug = false lto = true panic = "abort" strip = true [profile.pprof] codegen-units = 16 debug = 2 inherits = "release" lto = false strip = false