mirror of
https://github.com/zed-industries/zed.git
synced 2025-01-13 05:42:59 +00:00
ad4c4aff13
When a user types, chances are the model will anticipate what they are about to do. Previously, we would continuously cancel the pending completion until the user stopped typing. With this commit, we allow at most two completions to race with each other (the first and the last one): - If the completion that was requested first completes first, we will show it (assuming we can interpolate it) but avoid canceling the last one. - When the completion that was requested last completes, we will cancel the first one if it's pending. In both cases, if a completion is already on-screen we have a special case for when the completions are just insertions and the new completion is a superset of the existing one. In this case, we will replace the existing completion with the new one. Otherwise we will keep showing the old one to avoid thrashing the UI. This should make latency a lot better. Note that I also reduced the debounce timeout to 8ms. Release Notes: - N/A
62 lines
1.8 KiB
TOML
62 lines
1.8 KiB
TOML
[package]
|
|
name = "zeta"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
publish = false
|
|
license = "GPL-3.0-or-later"
|
|
exclude = ["fixtures"]
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[lib]
|
|
path = "src/zeta.rs"
|
|
doctest = false
|
|
|
|
[features]
|
|
test-support = []
|
|
|
|
[dependencies]
|
|
anyhow.workspace = true
|
|
client.workspace = true
|
|
collections.workspace = true
|
|
editor.workspace = true
|
|
futures.workspace = true
|
|
gpui.workspace = true
|
|
http_client.workspace = true
|
|
indoc.workspace = true
|
|
inline_completion.workspace = true
|
|
language.workspace = true
|
|
language_models.workspace = true
|
|
log.workspace = true
|
|
menu.workspace = true
|
|
rpc.workspace = true
|
|
serde_json.workspace = true
|
|
settings.workspace = true
|
|
similar.workspace = true
|
|
telemetry_events.workspace = true
|
|
theme.workspace = true
|
|
ui.workspace = true
|
|
uuid.workspace = true
|
|
workspace.workspace = true
|
|
|
|
[dev-dependencies]
|
|
collections = { workspace = true, features = ["test-support"] }
|
|
client = { workspace = true, features = ["test-support"] }
|
|
clock = { workspace = true, features = ["test-support"] }
|
|
ctor.workspace = true
|
|
editor = { workspace = true, features = ["test-support"] }
|
|
env_logger.workspace = true
|
|
gpui = { workspace = true, features = ["test-support"] }
|
|
http_client = { workspace = true, features = ["test-support"] }
|
|
indoc.workspace = true
|
|
language = { workspace = true, features = ["test-support"] }
|
|
reqwest_client = { workspace = true, features = ["test-support"] }
|
|
rpc = { workspace = true, features = ["test-support"] }
|
|
settings = { workspace = true, features = ["test-support"] }
|
|
theme = { workspace = true, features = ["test-support"] }
|
|
tree-sitter-go.workspace = true
|
|
tree-sitter-rust.workspace = true
|
|
workspace = { workspace = true, features = ["test-support"] }
|
|
worktree = { workspace = true, features = ["test-support"] }
|
|
call = { workspace = true, features = ["test-support"] }
|