Initial commin (phase 1 and 2)

This commit is contained in:
2026-03-19 17:36:18 +01:00
commit 957b814f6f
21 changed files with 15948 additions and 0 deletions
+86
View File
@@ -0,0 +1,86 @@
[package]
name = "microhx"
version = "0.1.0"
edition = "2021"
rust-version = "1.75"
authors = ["MicroHX Contributors"]
description = "A modern modal text editor with Lua plugins, LSP, and tree-sitter"
license = "MIT"
repository = "https://github.com/microhx/microhx"
keywords = ["editor", "vim", "helix", "lua", "tui"]
categories = ["command-line-utilities", "text-editors"]
[features]
default = ["cli", "lua"]
cli = ["dep:crossterm"]
tui = ["dep:ratatui"]
gui = ["dep:eframe", "dep:egui"]
lua = ["dep:mlua"]
[dependencies]
# Core
ropey = "1.6"
thiserror = "2.0"
anyhow = "1.0"
# Async
tokio = { version = "1.42", features = ["full"] }
# Lua scripting (optional - requires full Rust std)
mlua = { version = "0.10", optional = true, features = ["lua54", "send", "vendored", "serialize"] }
# CLI/TUI
crossterm = { version = "0.28", optional = true, features = ["event-stream"] }
ratatui = { version = "0.29", optional = true }
# GUI
eframe = { version = "0.30", optional = true, default-features = false }
egui = { version = "0.30", optional = true }
# Serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
toml = "0.8"
# Logging
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
# Utilities
unicode-segmentation = "1.12"
unicode-width = "0.2"
dirs = "5.0"
[dev-dependencies]
tempfile = "3.14"
pretty_assertions = "1.4"
tokio-test = "0.4"
[profile.release]
lto = true
codegen-units = 1
strip = true
panic = "abort"
[profile.release-static]
inherits = "release"
panic = "abort"
[[bin]]
name = "microhx"
path = "src/main.rs"
required-features = ["cli"]
[[bin]]
name = "microhx-tui"
path = "src/main_tui.rs"
required-features = ["tui"]
[[bin]]
name = "microhx-gui"
path = "src/main_gui.rs"
required-features = ["gui"]
[lib]
name = "microhx"
path = "src/lib.rs"