| Crates.io | lino-env |
| lib.rs | lino-env |
| version | 0.1.0 |
| created_at | 2026-01-06 23:51:16.124513+00 |
| updated_at | 2026-01-06 23:51:16.124513+00 |
| description | A Rust library to read and write .lenv files |
| homepage | |
| repository | https://github.com/link-foundation/lino-env |
| max_upload_size | |
| id | 2027181 |
| size | 56,660 |
A Rust library to read and write .lenv files.
.lenv files are environment configuration files that use : (colon-space) instead of = for key-value separation. This format is part of the links-notation specification.
Example .lenv file:
GITHUB_TOKEN: gh_abc123
TELEGRAM_TOKEN: 054xyz789
API_URL: https://api.example.com:8080
Add this to your Cargo.toml:
[dependencies]
lino-env = "0.1"
use lino_env::LinoEnv;
// Create and write a new .lenv file
let mut env = LinoEnv::new(".lenv");
env.set("GITHUB_TOKEN", "gh_abc123");
env.set("API_KEY", "my_api_key");
env.write().unwrap();
// Read an existing .lenv file
let mut env = LinoEnv::new(".lenv");
env.read().unwrap();
// Get a value
if let Some(token) = env.get("GITHUB_TOKEN") {
println!("Token: {}", token);
}
.lenv files support multiple values for the same key:
use lino_env::LinoEnv;
let mut env = LinoEnv::new(".lenv");
// Add multiple values for the same key
env.add("ALLOWED_HOST", "localhost");
env.add("ALLOWED_HOST", "example.com");
env.add("ALLOWED_HOST", "api.example.com");
// Get the last value
assert_eq!(env.get("ALLOWED_HOST"), Some("api.example.com".to_string()));
// Get all values
let hosts = env.get_all("ALLOWED_HOST");
assert_eq!(hosts, vec!["localhost", "example.com", "api.example.com"]);
use lino_env::{read_lino_env, write_lino_env};
use std::collections::HashMap;
// Write using a HashMap
let mut data = HashMap::new();
data.insert("KEY1".to_string(), "value1".to_string());
data.insert("KEY2".to_string(), "value2".to_string());
write_lino_env(".lenv", &data).unwrap();
// Read into a LinoEnv instance
let env = read_lino_env(".lenv").unwrap();
println!("{:?}", env.get("KEY1"));
new(file_path) - Create a new LinoEnv instanceread() - Read and parse the .lenv filewrite() - Write the current data to the fileget(key) - Get the last value for a keyget_all(key) - Get all values for a keyset(key, value) - Set a key to a single value (replaces all)add(key, value) - Add a value to a key (allows duplicates)has(key) - Check if a key existsdelete(key) - Delete all values for a keykeys() - Get all keysto_hash_map() - Convert to HashMap with last valuesUnlicense