Skip to main content

Module utils

Module utils 

Source
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: .vtcode directory 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 .vtcodegitignore creation
  • 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 IsTerminal trait.
unicode_monitor
Unicode monitoring and validation utilities
validation
Validation utilities for common operations
vtcodegitignore
.vtcodegitignore file pattern matching utilities

Structs§

ProjectOverview
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