lapce/Cargo.toml

130 lines
4.9 KiB
TOML

[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 <dzhou121@gmail.com>"]
[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 = "0e1cb1d3b4afc04a52b16c7245f502d2dea7b73f", 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 = "0e1cb1d3b4afc04a52b16c7245f502d2dea7b73f", 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"