68 lines
2.4 KiB
TOML
68 lines
2.4 KiB
TOML
[package]
|
|
name = "pmacs-gpu"
|
|
version = "0.0.1"
|
|
edition = "2024"
|
|
rust-version = "1.95"
|
|
description = "GPU/GUI frontend for pmacs — attach, editing, syntax/diagnostics/minimap, mouse + context menu, clipboard, search, minibuffer. See docs/pmacs-gpu-design.md."
|
|
license = "MIT OR Apache-2.0"
|
|
authors = ["Pmacs contributors"]
|
|
readme = "../README.md"
|
|
repository = "https://git.levineuwirth.org/neuwirth/pmacs"
|
|
homepage = "https://levineuwirth.org/essays/pmacs"
|
|
keywords = ["editor", "emacs", "gpu", "gui"]
|
|
categories = ["text-editors"]
|
|
publish = false
|
|
|
|
[[bin]]
|
|
name = "pmacs-gpu"
|
|
path = "src/main.rs"
|
|
|
|
[lints.rust]
|
|
unsafe_code = "forbid"
|
|
missing_docs = "warn"
|
|
|
|
[lints.clippy]
|
|
all = { level = "warn", priority = -1 }
|
|
pedantic = { level = "warn", priority = -1 }
|
|
# Allows: same set as the root `pmacs` crate, mirrored so the GPU
|
|
# code doesn't trip lints the rest of the project doesn't either.
|
|
module_name_repetitions = "allow"
|
|
must_use_candidate = "allow"
|
|
missing_errors_doc = "allow"
|
|
missing_panics_doc = "allow"
|
|
cast_possible_truncation = "allow"
|
|
cast_sign_loss = "allow"
|
|
cast_precision_loss = "allow"
|
|
similar_names = "allow"
|
|
multiple_crate_versions = "allow"
|
|
|
|
[dependencies]
|
|
# OS clipboard for cut/copy/paste (Q#CM6). `wayland-data-control` adds
|
|
# the zwlr_data_control backend so the clipboard works under Wayland
|
|
# without a window handle; the default X11 backend covers X sessions.
|
|
# `image-data` is dropped --- pmacs only round-trips text.
|
|
arboard = { version = "3", default-features = false, features = ["wayland-data-control"] }
|
|
env_logger = "0.11.10"
|
|
# Text shaping + GPU rendering. `glyphon` re-exports the `cosmic-text`
|
|
# types it pins (`Buffer`, `Attrs`, `Family`, `FontSystem`,
|
|
# `Metrics`, `Shaping`, `SwashCache`, ...); we use those re-exports
|
|
# rather than depending on `cosmic-text` directly so the build never
|
|
# ends up with two cosmic-text versions resolving to the same name.
|
|
glyphon = "0.11.0"
|
|
loro = "=1.12.0"
|
|
# Locale for cosmic-text FontSystem construction (Q#F6 sanitized db
|
|
# assembly) -- the same crate cosmic-text uses internally, so the
|
|
# resolved locale matches what FontSystem::new() would have picked.
|
|
sys-locale = "0.3"
|
|
# Session 1's wire-types crate. Pulled in now so the dep graph is
|
|
# settled from session 2 forward; protocol consumption itself lands
|
|
# in session 3.
|
|
pmacs-protocol = { version = "1.0.0", path = "../pmacs-protocol" }
|
|
pollster = "0.4.0"
|
|
wgpu = "29.0.3"
|
|
winit = "0.30.13"
|
|
unicode-width = "0.2"
|
|
|
|
[dev-dependencies]
|
|
tempfile = "3"
|