lapce/Cargo.toml

129 lines
4.6 KiB
TOML
Raw Normal View History

2019-09-03 17:30:08 +00:00
[package]
2024-03-24 17:56:31 +00:00
name = "lapce"
version = { workspace = true }
authors = { workspace = true }
edition = { workspace = true }
license = { workspace = true }
rust-version = { workspace = true }
default-run = "lapce"
2019-09-03 17:30:08 +00:00
[dependencies]
2024-03-24 17:56:31 +00:00
lapce-app = { path = "./lapce-app" }
2022-03-08 12:34:52 +00:00
lapce-proxy = { path = "./lapce-proxy" }
2021-10-06 16:43:04 +00:00
[[bin]]
name = "lapce"
2023-01-24 19:29:21 +00:00
path = "lapce-app/src/bin/lapce.rs"
2021-10-06 16:43:04 +00:00
[[bin]]
name = "lapce-proxy"
2022-03-08 12:34:52 +00:00
path = "lapce-proxy/src/bin/lapce-proxy.rs"
2020-10-15 17:03:20 +00:00
[workspace]
2024-03-24 17:56:31 +00:00
members = ["lapce-app", "lapce-proxy", "lapce-rpc", "lapce-core"]
[workspace.package]
2024-03-24 17:56:31 +00:00
version = "0.3.1"
edition = "2021"
2024-03-21 15:52:41 +00:00
rust-version = "1.75"
2024-03-24 17:56:31 +00:00
license = "Apache-2.0"
homepage = "https://lapce.dev"
authors = ["Dongdong Zhou <dzhou121@gmail.com>"]
[workspace.dependencies]
2024-03-24 17:56:31 +00:00
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.11" }
directories = { version = "4.0.1" }
flate2 = { version = "1.0" }
globset = { version = "0.4.14" }
hashbrown = { version = "0.14.3", features = ["serde"] }
2024-03-24 17:56:31 +00:00
im = { version = "15.0.0", features = ["serde"] }
include_dir = { version = "0.6.2" }
indexmap = { version = "2.0", features = ["serde"] }
interprocess = { version = "1.2.1" }
2024-03-31 22:49:20 +00:00
itertools = { version = "0.12.1" }
2024-03-24 17:56:31 +00:00
notify = { version = "5.2.0", features = ["serde"] }
once_cell = { version = "1.19" }
parking_lot = { version = "0.12.0" }
2024-03-24 17:56:31 +00:00
rayon = { version = "1.8.0" }
regex = { version = "1.10.2" }
reqwest = { version = "0.11", features = ["blocking", "json", "socks"] }
serde = { version = "1.0" }
2024-03-25 00:16:41 +00:00
serde_json = { version = "1.0" }
2024-03-24 17:56:31 +00:00
smallvec = { version = "1.13.1" }
2024-03-31 22:49:20 +00:00
strum = { version = "0.26.2" }
strum_macros = { version = "0.26.2" }
2024-03-24 17:56:31 +00:00
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" }
2023-05-16 19:59:12 +00:00
lapce-xi-rope = { version = "0.3.2", features = ["serde"] }
2024-03-24 17:56:31 +00:00
lapce-core = { path = "./lapce-core" }
lapce-rpc = { path = "./lapce-rpc" }
lapce-proxy = { path = "./lapce-proxy" }
2024-04-02 20:54:19 +00:00
floem-editor-core = { git = "https://github.com/lapce/floem", rev = "690e98a084e175e0ad56b696c8e5df6c99e179e2", features = ["serde"] }
Floem Editor (#2909) * Initial sketch of floem-editor * Very basic phantom * Basic wrapping + layout styling * More phantom, more styling, more view code * Line height, more drawing code * More drawing logic * Move to separate crate * Add example; fixes * Partial reimpl of Lapce's Document * Downcasting Document; add basic EditorData impl * Progress on implementing run_command * More progress on run_command * Editor container view * Hook up modal and smart tab * Receive char * Add clicking support * Add Ctrl+{Home,End} * Remove usage of buffer in Cursor::yank * Bunch of editor -> new editor functions impl * Scroll commands and other bits * Make buildable * Cursor blink; remove vestiges of sticky header * Impl compute screen lines for new doc * Replace existing modules with floem-editor versions * Shift over to using floem-editor (broken) * Remove uses of original doc * Rename doc2 -> doc * Don't force Rc to allow swapping out Editor signals * Add Styling::id; various minor changes * Fix updating Lines * Hook up styling * Deduplicate many pieces of paint logic * Make indentation on newline configurable * Impl scroll commands * Add clippy changes from non-rebased commit * Simplify+improve view update logic; fix style sharing bug * Stop returning SyntaxEdit on edits This was needed so that we can avoid depending on tree-sitter when extracting the buffer + editing logic out to floem-editor This actually makes it cheaper in the cases where we don't need the edits. However we are factoring the delta twice now. It would be better to not do that. * Remove Syntax usage in Buffer * Move syntax/util.rs, because syntax won't be in floem-editor-core * Move all editor logic out of lapce-core and into floem-editor-core * Remove lapce deps from floem-editor * Fix warnings * Fix various floem-editor TODOs * Make cursor blink at the correct times * Move last_movement onto floem-editor * Rename core Editor -> Action to avoid name collisions * Avoid crash where line is out of bounds while loading file * Return iterative ropes with deltas * Put off some todos; Reimpl some missing select cmds * Dispose of editor on cleanup * Move floem-editor to floem; various changes from that * Update to use latest floem * Update floem; Pass cache rev
2024-02-12 21:23:15 +00:00
# floem-editor-core = { path = "../workspaces/floem/editor-core/", features = ["serde"] }
2023-12-11 19:08:05 +00:00
[patch.crates-io]
# Temporarily patch lsp-types with a version that supports inline-completion
lsp-types = { git = "https://github.com/lapce/lsp-types", rev = "feaa1e2ec80975c9dadd400a238ceacf071058e6" }
regalloc2 = { rev = "5d79e12d0a93b10fc181f4da409b4671dd365228", git = "https://github.com/bytecodealliance/regalloc2" }
2023-12-11 19:08:05 +00:00
[workspace.dependencies.tracing]
2024-03-24 17:56:31 +00:00
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]
2024-03-24 17:56:31 +00:00
git = "https://github.com/tokio-rs/tracing"
rev = "908cc432a5994f6e17c8f36e13c217dc40085704"
package = "tracing-subscriber"
[workspace.dependencies.tracing-appender]
2024-03-24 17:56:31 +00:00
git = "https://github.com/tokio-rs/tracing"
rev = "908cc432a5994f6e17c8f36e13c217dc40085704"
package = "tracing-appender"
[workspace.dependencies.alacritty_terminal]
2024-03-26 22:42:39 +00:00
version = "0.23.0"
[workspace.dependencies.windows-sys]
2024-03-24 17:56:31 +00:00
version = "0"
features = ["Win32_Foundation"]
[profile.release-lto]
2024-03-24 17:56:31 +00:00
inherits = "release"
lto = true
codegen-units = 1
2022-04-25 07:53:33 +00:00
2022-04-20 20:51:53 +00:00
# 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
2022-04-20 14:39:33 +00:00
# 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"
2024-03-31 22:49:20 +00:00