[package] name = "lapce" version = { workspace = true } authors = { workspace = true } edition = { workspace = true } license = { workspace = true } rust-version = { workspace = true } default-run = "lapce" [dependencies] lapce-app = { path = "./lapce-app" } lapce-proxy = { path = "./lapce-proxy" } [[bin]] name = "lapce" path = "lapce-app/src/bin/lapce.rs" [[bin]] name = "lapce-proxy" path = "lapce-proxy/src/bin/lapce-proxy.rs" [workspace] members = ["lapce-app", "lapce-proxy", "lapce-rpc", "lapce-core"] [workspace.package] version = "0.4.0" edition = "2021" rust-version = "1.75" license = "Apache-2.0" homepage = "https://lapce.dev" authors = ["Dongdong Zhou "] [workspace.dependencies] anyhow = { version = "1.0" } backtrace = { version = "0.3" } chrono = { version = "0.4" } clap = { version = "4.5.0", default-features = false, features = ["std", "help", "usage", "derive"] } crossbeam-channel = { version = "0.5.12" } directories = { version = "4.0.1" } flate2 = { version = "1.0" } globset = { version = "0.4.14" } hashbrown = { version = "0.14.5", features = ["serde"] } im = { version = "15.0.0", features = ["serde"] } include_dir = { version = "0.7" } indexmap = { version = "2.0", features = ["serde"] } interprocess = { version = "1.2.1" } itertools = { version = "0.12.1" } notify = { version = "5.2.0", features = ["serde"] } once_cell = { version = "1.19" } parking_lot = { version = "0.12.3" } rayon = { version = "1.10.0" } regex = { version = "1.10.4" } reqwest = { version = "0.11", features = ["blocking", "json", "socks"] } serde = { version = "1.0" } serde_json = { version = "1.0" } smallvec = { version = "1.13.2" } strum = { version = "0.26.2" } strum_macros = { version = "0.26.2" } tar = { version = "0.4" } thiserror = { version = "1.0" } toml = { version = "*" } toml_edit = { version = "0.20.2", features = ["serde"] } url = { version = "2.5.0" } lsp-types = { version = "0.95.1", features = ["proposed"] } # not following semver, so should be locked to patch version updates only psp-types = { git = "https://github.com/lapce/psp-types", rev = "f7fea28f59e7b2d6faa1034a21679ad49b3524ad" } lapce-xi-rope = { version = "0.3.2", features = ["serde"] } lapce-core = { path = "./lapce-core" } lapce-rpc = { path = "./lapce-rpc" } lapce-proxy = { path = "./lapce-proxy" } floem = { git = "https://github.com/lapce/floem", rev = "9a9e6c21834ce2f30db2c36d9aadfeb98f899277", features = ["editor", "serde", "default-image-formats", "rfd-async-std"] } # floem = { path = "../floem", features = ["editor", "serde", "default-image-formats", "rfd-async-std"] } floem-editor-core = { git = "https://github.com/lapce/floem", rev = "9a9e6c21834ce2f30db2c36d9aadfeb98f899277", features = ["serde"] } # floem-editor-core = { path = "../floem/editor-core/", features = ["serde"] } [patch.crates-io] # Temporarily patch lsp-types with a version that adds message-type debug lsp-types = { git = "https://github.com/lapce/lsp-types", rev = "feaa1e2ec80975c9dadd400a238ceacf071058e6" } regalloc2 = { rev = "5d79e12d0a93b10fc181f4da409b4671dd365228", git = "https://github.com/bytecodealliance/regalloc2" } [workspace.dependencies.tracing] git = "https://github.com/tokio-rs/tracing" rev = "908cc432a5994f6e17c8f36e13c217dc40085704" package = "tracing" [workspace.dependencies.tracing-log] git = "https://github.com/tokio-rs/tracing" rev = "908cc432a5994f6e17c8f36e13c217dc40085704" package = "tracing-log" [workspace.dependencies.tracing-subscriber] git = "https://github.com/tokio-rs/tracing" rev = "908cc432a5994f6e17c8f36e13c217dc40085704" package = "tracing-subscriber" [workspace.dependencies.tracing-appender] git = "https://github.com/tokio-rs/tracing" rev = "908cc432a5994f6e17c8f36e13c217dc40085704" package = "tracing-appender" [workspace.dependencies.alacritty_terminal] version = "0.23.0" [workspace.dependencies.windows-sys] version = "0" features = ["Win32_Foundation"] [profile.release-lto] inherits = "release" lto = true codegen-units = 1 # A profile which compiles all (non-workspace) dependencies in release mode # but Lapce code in dev mode. This gives a good debugging experience for your # code and fast performance of other people's code. After the initial # build subsequent ones are as fast as dev mode builds. # See https://doc.rust-lang.org/cargo/reference/profiles.html # To use this profile: # cargo build --profile fastdev # cargo run --profile fastdev --bin lapce [profile.fastdev.package."*"] opt-level = 3 [profile.fastdev] inherits = "dev"