887e66bb174de01a53c8548e976af9ff637a8f91
				
			
			
		
	
		
			Some checks are pending
		
		
	
	Rhai Tests / Run Rhai Tests (push) Waiting to run
				
			Reviewed-on: herocode/sal#9
SAL (System Abstraction Layer)
A Rust library that provides a unified interface for interacting with operating system features across different platforms. It abstracts away platform-specific details, allowing developers to write cross-platform code with ease.
Features
- File System Operations: Simplified file and directory management
 - Process Management: Create, monitor, and control processes
 - System Information: Access system details and metrics
 - Git Integration: Interface with Git repositories
 - Redis Client: Robust Redis connection management and command execution
 - Text Processing: Utilities for text manipulation and formatting
 
Modules
Redis Client
The Redis client module provides a robust wrapper around the Redis client library for Rust, offering:
- Automatic connection management and reconnection
 - Support for both Unix socket and TCP connections
 - Database selection via environment variables
 - Thread-safe global client instance
 - Simple command execution interface
 
View Redis Client Documentation
OS Module
Provides platform-independent interfaces for operating system functionality.
Git Module
Tools for interacting with Git repositories programmatically.
Process Module
Utilities for process creation, monitoring, and management.
Text Module
Text processing utilities for common operations.
Usage
Add this to your Cargo.toml:
[dependencies]
sal = "0.1.0"
Basic example:
use sal::redisclient::execute;
use redis::cmd;
fn main() -> redis::RedisResult<()> {
    // Execute a Redis command
    let mut cmd = redis::cmd("SET");
    cmd.arg("example_key").arg("example_value");
    execute(&mut cmd)?;
    
    // Retrieve the value
    let mut get_cmd = redis::cmd("GET");
    get_cmd.arg("example_key");
    let value: String = execute(&mut get_cmd)?;
    println!("Value: {}", value);
    
    Ok(())
}
Description
				
					Languages
				
				
								
								
									Rust
								
								98.4%
							
						
							
								
								
									Shell
								
								1.3%
							
						
							
								
								
									CSS
								
								0.2%