mirror of
https://github.com/helix-editor/helix.git
synced 2024-11-22 09:26:19 +04:00
e8898fd9a8
Fixing autocomplete required moving the document savepoint before the asynchronous completion request. However, this in turn causes new bugs: If the completion popup is open, the savepoint is restored when the popup closes (or another entry is selected). However, at that point a new completion request might already have been created which would have replaced the new savepoint (therefore leading to incorrectly applied complies). This commit fixes that bug by allowing in arbitrary number of savepoints to be tracked on the document. The savepoints are reference counted and therefore remain valid as long as any reference to them remains. Weak reference are stored on the document and any reference that can not be upgraded anymore (hence no strong reference remain) are automatically discarded.
57 lines
1.4 KiB
TOML
57 lines
1.4 KiB
TOML
[package]
|
|
name = "helix-view"
|
|
version = "0.6.0"
|
|
authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
|
|
edition = "2021"
|
|
license = "MPL-2.0"
|
|
description = "UI abstractions for use in backends"
|
|
categories = ["editor"]
|
|
repository = "https://github.com/helix-editor/helix"
|
|
homepage = "https://helix-editor.com"
|
|
|
|
[features]
|
|
default = []
|
|
term = ["crossterm"]
|
|
|
|
[dependencies]
|
|
bitflags = "1.3"
|
|
anyhow = "1"
|
|
helix-core = { version = "0.6", path = "../helix-core" }
|
|
helix-loader = { version = "0.6", path = "../helix-loader" }
|
|
helix-lsp = { version = "0.6", path = "../helix-lsp" }
|
|
helix-dap = { version = "0.6", path = "../helix-dap" }
|
|
crossterm = { version = "0.26", optional = true }
|
|
helix-vcs = { version = "0.6", path = "../helix-vcs" }
|
|
|
|
# Conversion traits
|
|
once_cell = "1.17"
|
|
url = "2"
|
|
|
|
arc-swap = { version = "1.6.0" }
|
|
|
|
tokio = { version = "1", features = ["rt", "rt-multi-thread", "io-util", "io-std", "time", "process", "macros", "fs", "parking_lot"] }
|
|
tokio-stream = "0.1"
|
|
futures-util = { version = "0.3", features = ["std", "async-await"], default-features = false }
|
|
|
|
slotmap = "1"
|
|
|
|
chardetng = "0.1"
|
|
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0"
|
|
toml = "0.7"
|
|
log = "~0.4"
|
|
|
|
which = "4.4"
|
|
parking_lot = "0.12.1"
|
|
|
|
|
|
[target.'cfg(windows)'.dependencies]
|
|
clipboard-win = { version = "4.5", features = ["std"] }
|
|
|
|
[target.'cfg(unix)'.dependencies]
|
|
libc = "0.2"
|
|
|
|
[dev-dependencies]
|
|
helix-tui = { path = "../helix-tui" }
|