helix/helix-view/Cargo.toml
Michael Davis 67be15e749
WIP: The proper Spellbook integration patch
Prior integration patches went about it in the most simple and direct
way, which is unfortunately completely different than how it _should_
look. Some bad prior art:

* Checking was done during each render only on the current viewport
* Dictionary loading was hard-coded and done during `Editor::new`
* The UX for suggestions was not hooked into code actions
* Same for "Add {word} to dictionary"

Ultimately this is still very unbaked. Big parts still to do:

* Run a tree-sitter query to discover parts of the document that need to
  be checked. Look at the queries used in Codebook - I believe we want
  to follow that strategy at least partially. It uses different captures
  to control the strategy used to parse the captured content. (For
  example capturing strings)
* Support multiple dictionaries at once. Not totally sure what this
  looks like yet, other than `dictionaries.iter().any(..)`.
* Figure out how many configuration levers we need. Again, Codebook is
  likely to be good inspiration here.
2025-03-24 09:17:43 -04:00

64 lines
1.5 KiB
TOML

[package]
name = "helix-view"
description = "UI abstractions for use in backends"
version.workspace = true
authors.workspace = true
edition.workspace = true
license.workspace = true
rust-version.workspace = true
categories.workspace = true
repository.workspace = true
homepage.workspace = true
[features]
default = []
term = ["crossterm"]
unicode-lines = []
[dependencies]
helix-stdx = { path = "../helix-stdx" }
helix-core = { path = "../helix-core" }
helix-event = { path = "../helix-event" }
helix-loader = { path = "../helix-loader" }
helix-lsp = { path = "../helix-lsp" }
helix-dap = { path = "../helix-dap" }
helix-vcs = { path = "../helix-vcs" }
bitflags.workspace = true
anyhow = "1"
crossterm = { version = "0.28", optional = true }
tempfile.workspace = true
# Conversion traits
once_cell = "1.21"
url = "2.5.4"
arc-swap = { version = "1.7.1" }
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.workspace = true
chardetng = "0.1"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
toml = "0.8"
log = "~0.4"
parking_lot.workspace = true
thiserror.workspace = true
spellbook.workspace = true
[target.'cfg(windows)'.dependencies]
clipboard-win = { version = "5.4", features = ["std"] }
[target.'cfg(unix)'.dependencies]
libc = "0.2"
rustix = { version = "1.0", features = ["fs"] }
[dev-dependencies]
helix-tui = { path = "../helix-tui" }