[package]
name = "hjkl-engine"
description = "Vim FSM, motion grammar, and ex commands. Pre-1.0 churn."
keywords = ["vim", "modal", "editor", "fsm"]
categories = ["text-editors"]
version.workspace = true
edition = "2024"
license = "MIT"
repository = "https://github.com/kryptic-sh/hjkl-engine"
authors = ["mxaddict <mxaddict@kryptic.sh>"]
rust-version = "1.95"
homepage = "https://hjkl.kryptic.sh"
readme = "README.md"

[features]
default = ["serde"]
serde = ["dep:serde"]

[dev-dependencies]
proptest = "1"
serde_json = "1"

[dependencies]
# Ratatui + crossterm adapter surface lives in `hjkl-engine-tui` (#162 phase 3).
# `serde` is optional; wasm / no_std hosts opt out via `default-features = false`.
hjkl-buffer.workspace = true
hjkl-lang.workspace = true
ropey = "1.6"
bitflags = "2"
regex = "1"
serde = { version = "1", features = ["derive"], optional = true }
thiserror = "2"
tracing = "0.1"

[package.metadata.docs.rs]
all-features = true
targets = ["x86_64-unknown-linux-gnu"]
rustdoc-args = ["--cfg", "docsrs"]
