termi 0.1.7

A modal terminal code editor written in Rust
[package]
name = "termi"
version = "0.1.7"
edition = "2024"
# Edition 2024 alone needs 1.85, but the code uses let-chains, which only
# stabilised in 1.88. Claiming 1.85 turns "your toolchain is too old" into a
# confusing parse error.
rust-version = "1.88"
description = "A modal terminal code editor written in Rust"
license = "MIT"
readme = "README.md"
repository = "https://github.com/tuna4ll/termi"
keywords = ["editor", "terminal", "tui", "text-editor", "modal"]
categories = ["command-line-utilities", "text-editors"]
# CI configuration is noise inside a published crate.
exclude = [".github/", ".gitattributes"]

[dependencies]
# TUI rendering + terminal backend. `crossterm_0_29` pins ratatui's backend to the
# same crossterm version we depend on directly, so the two never diverge.
ratatui = { version = "0.30", features = ["crossterm_0_29"] }
crossterm = "0.29"

# Text storage: a rope gives O(log n) edits and line indexing on large files.
ropey = "1.6"

# Search + regex based syntax highlighting.
regex = "1.13"

# Configuration and theming.
serde = { version = "1", features = ["derive"] }
toml = "1.1"
dirs = "6"

# Platform integrations.
# `default-features = false` drops image-data support (and the `image` crate with
# it) — an editor only ever puts text on the clipboard.
arboard = { version = "3.6", default-features = false }
notify = "8"

# Terminal cell width for CJK / wide graphemes.
unicode-width = "0.2"
unicode-segmentation = "1.13"

# Embedded terminal sessions: portable-pty owns the OS-specific pseudo-terminal
# and vt100 turns the byte stream into cells the ratatui renderer can paint.
portable-pty = "0.9"
vt100 = "0.16"

anyhow = "1"

[lints.rust]
unsafe_code = "forbid"

[profile.release]
opt-level = 3
lto = "thin"
codegen-units = 1