Expand description
§tui-syntax
Tree-sitter based syntax highlighting for TUI applications.
This crate provides syntax highlighting that integrates with ratatui,
returning styled Line and Span types ready for rendering.
§Features
- Tree-sitter based highlighting (accurate, fast)
- Helix-compatible TOML theme format
- Built-in themes (One Dark, GitHub Light)
- SQL language support built-in
- Extensible to other languages via tree-sitter grammars
§Example
use tui_syntax::{Highlighter, themes, sql};
// Create highlighter with default dark theme
let mut highlighter = Highlighter::new(themes::one_dark());
// Register SQL language
highlighter.register_language(sql()).unwrap();
// Highlight some SQL
let lines = highlighter.highlight("sql", "SELECT * FROM users WHERE id = 1;").unwrap();
// `lines` is Vec<ratatui::text::Line> ready to renderRe-exports§
pub use languages::html;pub use languages::json;pub use languages::sql;pub use languages::Language;pub use languages::LanguageError;
Modules§
- languages
- Language definitions for syntax highlighting.
- themes
- Built-in themes for syntax highlighting.
Structs§
- Highlighter
- Syntax highlighter that produces ratatui-compatible styled text.
- Theme
- A syntax highlighting theme.
- Theme
Style - A style definition for a syntax element.
Enums§
- Highlight
Error - Error during highlighting.
- Style
Modifier - Style modifiers (bold, italic, etc.)
- Theme
Error - Error loading or parsing a theme.