mirror of
https://github.com/helix-editor/helix
synced 2026-08-10 16:24:18 +02:00
This change switches out the terminal manipulation library to one I've been working on: Termina. It's somewhat similar to Crossterm API-wise but is a bit lower-level. It's also influenced a lot by TermWiz - the terminal manipulation library in WezTerm which we've considered switching to a few times. Termina is more verbose than Crossterm as it has a lower level interface that exposes escape sequences and pushes handling to the application. API-wise the important piece is that the equivalents of Crossterm's `poll_internal` / `read_internal` are exposed. This is used for reading the cursor position in both Crossterm and Termina, for example, but also now can be used to detect features like the Kitty keyboard protocol and synchronized output sequences simultaneously.
28 lines
690 B
INI
28 lines
690 B
INI
[package]
|
|
name = "helix-tui"
|
|
description = """A library to build rich terminal user interfaces or dashboards"""
|
|
include = ["src/**/*", "README.md"]
|
|
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 = ["termina"]
|
|
|
|
[dependencies]
|
|
helix-view = { path = "../helix-view", features = ["term"] }
|
|
helix-core = { path = "../helix-core" }
|
|
|
|
bitflags.workspace = true
|
|
cassowary = "0.3"
|
|
unicode-segmentation.workspace = true
|
|
termina = { workspace = true, optional = true }
|
|
termini = "1.0"
|
|
once_cell = "1.21"
|
|
log = "~0.4"
|