Files
sukr/Cargo.toml
Timothy DeHerrera f9a978bdd6 feat(highlight): implement tree-house syntax highlighting engine
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
2026-02-05 12:04:53 -07:00

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"