Replace tree-sitter-highlight with Helix's tree-house crate for advanced syntax highlighting: - Add tree-house and tree-house-bindings dependencies - Implement SukrLoader with LanguageLoader trait - Add hierarchical scope resolution with fallback (e.g., keyword.control.conditional → keyword.control → keyword) - Create custom HTML renderer processing HighlightEvents - Support all 14 languages with Helix queries - Handle JS/TS inheritance chain (ecma → _javascript/_typescript) Benefits: - Richer semantic highlighting with ~75 scope classes - Proper language injection support - Hierarchical theme scopes matching Helix themes - Foundation for converting Helix TOML themes to CSS
54 lines
1.4 KiB
TOML
54 lines
1.4 KiB
TOML
[package]
|
|
description = "Minimal static site compiler — suckless, Rust, zero JS"
|
|
edition = "2024"
|
|
license = "MIT"
|
|
name = "sukr"
|
|
version = "0.1.0"
|
|
|
|
[dependencies]
|
|
gray_matter = "0.2"
|
|
pulldown-cmark = "0.12"
|
|
thiserror = "2"
|
|
walkdir = "2"
|
|
|
|
# Syntax highlighting
|
|
ropey = "1.6"
|
|
tree-house = { git = "https://github.com/helix-editor/tree-house", package = "tree-house", default-features = false }
|
|
tree-house-bindings = { git = "https://github.com/helix-editor/tree-house", package = "tree-house-bindings", features = [
|
|
"tree-sitter-language",
|
|
] }
|
|
tree-sitter = "0.26"
|
|
tree-sitter-bash = "0.23"
|
|
tree-sitter-c = "0.24"
|
|
tree-sitter-css = "0.25"
|
|
tree-sitter-go = "0.25"
|
|
tree-sitter-html = "0.23"
|
|
tree-sitter-javascript = "0.25"
|
|
tree-sitter-json = "0.24"
|
|
tree-sitter-nix = "0.3"
|
|
tree-sitter-python = "0.25"
|
|
tree-sitter-rust = "0.23"
|
|
tree-sitter-typescript = "0.23"
|
|
tree-sitter-yaml = "0.7"
|
|
|
|
# CSS processing
|
|
lightningcss = "1.0.0-alpha.70"
|
|
|
|
# Config parsing
|
|
katex-rs = "0.2.3"
|
|
serde = { version = "1", features = ["derive"] }
|
|
tera = "1"
|
|
toml = "0.8"
|
|
|
|
# Diagram rendering
|
|
mermaid-rs-renderer = { version = "0.1", default-features = false }
|
|
tree-sitter-md = "0.5.2"
|
|
tree-sitter-toml-ng = "0.7.0"
|
|
|
|
# Patch dagre_rust to fix unwrap on None bug
|
|
[patch.crates-io]
|
|
dagre_rust = { path = "patches/dagre_rust" }
|
|
|
|
[dev-dependencies]
|
|
tempfile = "3.24.0"
|