[package]
name = "syntaxmate"
version = "0.2.0"
edition = "2024"
rust-version = "1.88"
license = "MIT"
description = "Rust-native TextMate syntax highlighting with bundled grammars and themes"
repository = "https://github.com/phongndo/syntaxmate"
documentation = "https://docs.rs/syntaxmate"
readme = "README.md"
keywords = ["syntax-highlighting", "textmate", "grammar", "theme"]
categories = ["parsing", "text-processing", "development-tools"]
autobins = false
autotests = false
include = [
"src/**",
"assets/grammars/licenses/**",
"assets/grammars/licenses.json",
"assets/grammars/SOURCE.toml",
"assets/grammars.bundle",
"assets/themes/**",
"examples/html.rs",
"examples/ansi.rs",
"/Cargo.toml",
"/README.md",
"/CHANGELOG.md",
"/CONTRIBUTING.md",
"/CODE_OF_CONDUCT.md",
"/EXTRACTION.md",
"/SECURITY.md",
"/SUPPORT.md",
"docs/architecture.md",
"docs/assets.md",
"docs/compatibility.md",
"docs/language-status.md",
"docs/rendering.md",
"docs/releasing.md",
"/LICENSE",
"/THIRD_PARTY_LICENSES.md",
]
[features]
default = ["bundled-grammars", "bundled-themes", "html", "ansi"]
bundled-grammars = []
bundled-themes = []
html = []
ansi = []
diagnostics = []
bundle-tools = ["dep:toml"]
[dependencies]
memchr = "2.7"
miniz_oxide = "0.9.1"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
toml = { version = "1.1", optional = true }
unicode-segmentation = "1.13"
unicode-general-category = "1.1"
unicode-ident = "1.0"
unicode-script = "0.5"
[dev-dependencies]
tempfile = "3"
toml = "1.1"
[package.metadata.docs.rs]
all-features = false
default-features = false
features = ["bundled-grammars", "bundled-themes", "html", "ansi"]
rustdoc-args = ["--cfg", "docsrs"]
[[test]]
name = "custom_theme_session"
path = "tests/custom_theme_session.rs"
required-features = ["bundled-grammars"]
[[test]]
name = "tokenize_eol_parity"
path = "tests/tokenize_eol_parity.rs"
[[test]]
name = "backreference_bounds"
path = "tests/backreference_bounds.rs"
[profile.release]
codegen-units = 1
lto = "thin"
panic = "abort"
[[bin]]
name = "syntaxmate-bundle"
path = "tools/build-bundle.rs"
required-features = ["bundle-tools"]
[[example]]
name = "profile-alloc"
path = "examples/profile-alloc.rs"
required-features = ["bundled-grammars", "bundled-themes"]
[[example]]
name = "profile-prepared"
path = "examples/profile-prepared.rs"
required-features = ["bundled-grammars"]
[[example]]
name = "profile-engine"
path = "examples/profile-engine.rs"
required-features = ["bundled-grammars"]
[[example]]
name = "profile-product"
path = "examples/profile-product.rs"
required-features = ["bundled-grammars", "bundled-themes", "html", "ansi"]
[[example]]
name = "regex-parse"
path = "examples/regex-parse.rs"
required-features = ["diagnostics"]
[[example]]
name = "regex-replay"
path = "examples/regex-replay.rs"
required-features = ["diagnostics"]
[[example]]
name = "theme-resolve"
path = "examples/theme-resolve.rs"
required-features = ["bundled-themes"]
[[example]]
name = "html"
path = "examples/html.rs"
required-features = ["bundled-grammars", "bundled-themes", "html"]
[[example]]
name = "ansi"
path = "examples/ansi.rs"
required-features = ["bundled-grammars", "bundled-themes", "ansi"]
[[test]]
name = "custom_bundle"
path = "tests/custom_bundle.rs"
[[example]]
name = "bundle-measure"
path = "examples/bundle-measure.rs"
required-features = ["bundled-grammars"]
[[example]]
name = "profile-shared"
path = "examples/profile-shared.rs"
required-features = ["bundled-grammars"]