Crate batless

Crate batless 

Source
Expand description

Core functionality for batless - a minimal, AI-friendly code viewer

This library provides the core logic for syntax highlighting and file processing that can be used both by the CLI and in tests.

Re-exports§

pub use tokens::TokenExtractor;
pub use config::BatlessConfig;
pub use error::BatlessError;
pub use error::BatlessResult;
pub use file_info::FileInfo;
pub use formatter::OutputFormatter;
pub use formatter::OutputMode;
pub use highlighter::SyntaxHighlighter;
pub use json_schema::get_json_schema;
pub use json_schema::validate_batless_output;
pub use json_schema::JsonSchemaValidator;
pub use language::LanguageDetector;
pub use language::ThemeManager;
pub use processor::FileProcessor;
pub use profile::CustomProfile;
pub use streaming::StreamingCheckpoint;
pub use streaming::StreamingChunk;
pub use streaming::StreamingProcessor;
pub use summary::SummaryLevel;
pub use tokens::AiModel;
pub use tokens::TokenCount;
pub use tokens::TokenCounter;
pub use wizard::ConfigurationWizard;

Modules§

ast_summarizer
AST-based code summarization using tree-sitter
config
Configuration management for batless
config_manager
Manages application configuration by merging settings from files, command-line arguments, and profiles.
error
Custom error types for batless
file_info
File information structure for batless
formatter
Output formatting functionality for batless
formatters
Modular formatting functionality
highlighter
Syntax highlighting functionality for batless
json_schema
JSON schema validation for batless output
language
Language detection and management for batless
performance
Performance optimization utilities
processor
File processing functionality for batless
processor_builder
Builder pattern for configurable file processing
profile
Custom profile configuration for batless
streaming
Streaming JSON output functionality for batless
summarizer
Code summarization functionality for batless
summary
Summary level configuration for code analysis
tokens
Token processing functionality for batless
traits
Trait definitions for decoupling modules
wizard
Interactive configuration wizard for batless This module provides an interactive CLI wizard to help users configure batless for their specific needs, creating custom profiles and setting up optimal configurations.

Macros§

time_operation
Macro for easy timing of code blocks

Functions§

detect_language
Detect the programming language from a file path
format_output
Format output according to the specified mode
highlight_content
Highlight content with syntax highlighting
list_languages
Get list of all available programming languages
list_themes
Get list of all available themes
process_file
Main entry point for processing a file with batless