[package]
edition = "2024"
rust-version = "1.95"
name = "hjkl"
version = "0.25.0"
authors = ["mxaddict <mxaddict@kryptic.sh>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Vim-modal terminal editor: standalone TUI built on the hjkl engine."
homepage = "https://hjkl.kryptic.sh"
readme = "README.md"
keywords = [
"vim",
"modal",
"editor",
"tui",
"ratatui",
]
categories = [
"text-editors",
"command-line-utilities",
]
license = "MIT"
repository = "https://github.com/kryptic-sh/hjkl"
resolver = "2"
[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/v{ version }/{ name }-v{ version }-{ target }.{ archive-format }"
pkg-fmt = "tgz"
[package.metadata.binstall.overrides.x86_64-pc-windows-msvc]
pkg-fmt = "zip"
[package.metadata.deb]
maintainer = "mxaddict <mxaddict@kryptic.sh>"
copyright = "2026, mxaddict <mxaddict@kryptic.sh>"
license-file = [
"../../LICENSE",
"0",
]
extended-description = "hjkl is a vim-modal terminal text editor built on the hjkl engine — a rope-backed buffer, vim FSM, motion grammar, ex commands, fuzzy picker, and tree-sitter highlighting, all running in your terminal."
section = "editors"
priority = "optional"
assets = [
[
"target/release/hjkl",
"/usr/bin/hjkl",
"755",
],
[
"README.md",
"/usr/share/doc/hjkl/README.md",
"644",
],
[
"../../LICENSE",
"/usr/share/doc/hjkl/copyright",
"644",
],
]
[package.metadata.generate-rpm]
group = "Applications/Editors"
[[package.metadata.generate-rpm.assets]]
source = "target/release/hjkl"
dest = "/usr/bin/hjkl"
mode = "755"
[[package.metadata.generate-rpm.assets]]
source = "README.md"
dest = "/usr/share/doc/hjkl/README.md"
mode = "644"
doc = true
[[package.metadata.generate-rpm.assets]]
source = "../../LICENSE"
dest = "/usr/share/licenses/hjkl/LICENSE"
mode = "644"
[[bin]]
name = "hjkl"
path = "src/main.rs"
[[example]]
name = "form_demo"
path = "examples/form_demo.rs"
[[test]]
name = "e2e"
path = "tests/e2e.rs"
[[test]]
name = "embed"
path = "tests/embed.rs"
[[test]]
name = "headless"
path = "tests/headless.rs"
[[test]]
name = "nvim_api"
path = "tests/nvim_api.rs"
[dependencies.anyhow]
version = "1"
[dependencies.clap]
version = "4"
features = ["derive"]
[dependencies.crossterm]
version = "0.29"
[dependencies.git2]
version = "0.20"
default-features = false
[dependencies.hjkl-anvil]
version = "0.25"
[dependencies.hjkl-app]
version = "0.25"
[dependencies.hjkl-bonsai]
version = "0.25"
[dependencies.hjkl-buffer]
version = "0.25"
[dependencies.hjkl-clipboard]
version = "0.25"
[dependencies.hjkl-completion]
version = "0.25"
[dependencies.hjkl-completion-tui]
version = "0.25"
[dependencies.hjkl-config]
version = "0.25"
[dependencies.hjkl-editor]
version = "0.25"
features = [
"crossterm",
"ratatui",
]
default-features = false
[dependencies.hjkl-editor-tui]
version = "0.25"
default-features = false
[dependencies.hjkl-engine]
version = "0.25"
features = [
"crossterm",
"ratatui",
]
default-features = false
[dependencies.hjkl-ex]
version = "0.25"
[dependencies.hjkl-form]
version = "0.25"
[dependencies.hjkl-holler]
version = "0.25"
[dependencies.hjkl-holler-tui]
version = "0.25"
[dependencies.hjkl-hover]
version = "0.25"
[dependencies.hjkl-hover-tui]
version = "0.25"
[dependencies.hjkl-info-popup]
version = "0.25"
[dependencies.hjkl-info-popup-tui]
version = "0.25"
[dependencies.hjkl-keymap]
version = "0.25"
default-features = false
[dependencies.hjkl-keymap-crossterm]
version = "0.25"
[dependencies.hjkl-lang]
version = "0.25"
[dependencies.hjkl-layout]
version = "0.25"
[dependencies.hjkl-lsp]
version = "0.25"
[dependencies.hjkl-mangler]
version = "0.25"
[dependencies.hjkl-markdown]
version = "0.25"
[dependencies.hjkl-markdown-tui]
version = "0.25"
[dependencies.hjkl-menu]
version = "0.25"
[dependencies.hjkl-menu-tui]
version = "0.25"
[dependencies.hjkl-picker]
version = "0.25"
[dependencies.hjkl-picker-tui]
version = "0.25"
[dependencies.hjkl-prompt]
version = "0.25"
[dependencies.hjkl-prompt-tui]
version = "0.25"
[dependencies.hjkl-splash]
version = "0.25"
features = ["ratatui"]
[dependencies.hjkl-statusline]
version = "0.25"
[dependencies.hjkl-statusline-tui]
version = "0.25"
[dependencies.hjkl-syntax]
version = "0.25"
[dependencies.hjkl-syntax-tui]
version = "0.25"
[dependencies.hjkl-tabs]
version = "0.25"
[dependencies.hjkl-tabs-tui]
version = "0.25"
[dependencies.hjkl-theme]
version = "0.25"
[dependencies.hjkl-theme-tui]
version = "0.25"
[dependencies.hjkl-vim]
version = "0.25"
features = ["crossterm"]
default-features = false
[dependencies.hjkl-which-key]
version = "0.25"
[dependencies.hjkl-which-key-tui]
version = "0.25"
[dependencies.lsp-types]
version = "0.97"
[dependencies.ratatui]
version = "0.30"
[dependencies.regex]
version = "1"
[dependencies.rmpv]
version = "1"
features = ["with-serde"]
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.toml]
version = "1.1"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = [
"fmt",
"env-filter",
]
[dependencies.url]
version = "2"
[dev-dependencies.async-trait]
version = "0.1"
[dev-dependencies.nvim-rs]
version = "0.9"
features = ["use_tokio"]
[dev-dependencies.portable-pty]
version = "0.9"
[dev-dependencies.serde_json]
version = "1"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = [
"macros",
"rt-multi-thread",
"process",
"io-util",
]
[dev-dependencies.vt100]
version = "0.16"