use super::ini::{LineStyle, rewrite_lines};
use super::{Format, FormatError, LeafVisitor};
#[derive(Debug, Clone, Copy, Default)]
pub struct Dotenv;
impl Format for Dotenv {
fn name(&self) -> &str {
"dotenv"
}
fn extensions(&self) -> &[&str] {
&["env"]
}
fn file_names(&self) -> &[&str] {
&[".env", ".envrc", ".flaskenv"]
}
fn matches_file_name(&self, name: &str) -> bool {
self.file_names().contains(&name) || name.starts_with(".env.")
}
fn rewrite(&self, input: &[u8], visitor: &mut dyn LeafVisitor) -> Result<Vec<u8>, FormatError> {
rewrite_lines(
&LineStyle {
name: "dotenv",
sections: false,
export_prefix: true,
},
input,
visitor,
)
}
}