Expand description
§Utility Functions and Helpers
This module provides various utility functions and helpers used throughout VT Code, including configuration management, safety utilities, and common operations.
§Modules Overview
§Configuration Management (dot_config)
- User Preferences: Theme settings, UI preferences, cache configuration
- Provider Configuration: LLM provider settings and API keys
- Dotfile Management:
.vtcodedirectory and configuration files
§Safety Utilities (safety)
- Path Validation: Workspace boundary checking
- Command Sanitization: Safe command execution
- Input Validation: User input sanitization
§ANSI and Colors (ansi, colors)
- Terminal Colors: ANSI color codes and styling
- Color Management: Theme support and color schemes
- Cross-platform: Works on different terminal types
§Git Integration (vtcodegitignore)
- Gitignore Management: Automatic
.vtcodegitignorecreation - Pattern Matching: File exclusion patterns
- Workspace Safety: Prevents accidental file operations
§Path Utilities (path)
- Path Normalization: Resolve
.and..components - Shared Utilities: Common path operations
§Basic Usage Examples
§Configuration Management
use vtcode_core::utils::dot_config::{load_user_config, save_user_config, UserPreferences};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
// Load user configuration
let config = load_user_config().await?;
// Modify preferences
let mut prefs = config.preferences;
prefs.theme = "dark".to_string();
// Save changes
save_user_config(&prefs).await?;
Ok(())
}§Path Safety
use vtcode_core::utils::safety::validate_workspace_path;
use std::path::PathBuf;
let workspace = PathBuf::from("/home/user/project");
let file_path = PathBuf::from("src/main.rs");
// Validate path is within workspace
match validate_workspace_path(&workspace, &file_path) {
Ok(valid_path) => println!("Safe path: {}", valid_path.display()),
Err(e) => eprintln!("Unsafe path: {}", e),
}§ANSI Colors
use vtcode_core::utils::ansi::{colorize, Color};
let message = "Hello, World!";
let colored = colorize(message, Color::Green);
println!("{}", colored); // Prints green text
// Or use styling functions
let bold_text = vtcode_core::utils::ansi::bold("Important message");
let red_error = colorize("Error occurred", Color::Red);§Git Integration
use vtcode_core::utils::vtcodegitignore::initialize_vtcode_gitignore;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let workspace = std::env::current_dir()?;
// Initialize .vtcodegitignore
initialize_vtcode_gitignore(&workspace).await?;
println!("Git integration initialized");
Ok(())
}Re-exports§
pub use cached_style_parser::CachedStyleParser;pub use common::merge_env_patterns;pub use style_helpers::*;
Modules§
- ansi
- ansi_
capabilities - ANSI terminal capabilities detection and feature support
- ansi_
codes - ANSI escape sequence constants and utilities
- ansi_
parser - ANSI escape sequence parser and utilities
- async_
line_ writer - async_
utils - Async utility functions
- at_
pattern - @ Pattern Parsing Utilities
- cached_
style_ parser - colors
- Color utilities for the VT Code
- common
- Utility functions for the VT Code agent
- diff
- Diff utilities for generating structured and formatted diffs.
- diff_
styles - Re-exports from vtcode-commons for backward compatibility.
- dot_
config - Dot folder configuration and cache management
- error_
log_ collector - Global error log collector for session diagnostics.
- error_
messages - Consolidated error messages to eliminate duplication across codebase
- file_
input - File input helpers for provider-specific inline file attachments.
- file_
utils - File utility functions for common operations
- file_
workflow - File-based Workflow Utilities
- formatting
- Unified formatting utilities for UI and logging
- gatekeeper
- http_
client - HTTP client utilities
- image_
processing - Image processing utilities
- message_
style - Unified message styles and their logical mappings
- migration
- path
- Path utility functions
- safety
- Safety checks for VT Code operations
- serde_
helpers - Serde helper utilities
- session_
archive - session_
debug - style_
helpers - Re-exports from vtcode-commons for backward compatibility.
- terminal_
color_ probe - Startup OSC probe for terminal color-scheme and 256-color harmony.
- tokens
- Token estimation utilities
- trace_
writer - Shared buffered trace log writer with flush-on-exit support.
- transcript
- tty
- TTY detection and capability utilities using Rust’s
IsTerminaltrait. - unicode_
monitor - Unicode monitoring and validation utilities
- validation
- Validation utilities for common operations
- vtcodegitignore
- .vtcodegitignore file pattern matching utilities
Structs§
- Project
Overview - Lightweight project overview extracted from workspace files
Functions§
- build_
project_ overview - Build a minimal project overview from Cargo.toml and README.md
- current_
timestamp - Get current Unix timestamp in seconds