pub struct Template {
pub config: ConfigTemplate,
pub template_string: String,
pub context: Value,
}Fields§
§config: ConfigTemplate§template_string: String§context: ValueImplementations§
Source§impl Template
impl Template
Sourcepub fn parse(toml_str: &str) -> TemplateResult<Self>
pub fn parse(toml_str: &str) -> TemplateResult<Self>
Create a new Template instance This function parses the given TOML string and returns a Template instance or a TemplateError if parsing fails It also checks if it’s possible to parse the template with tinytemplate and returns an error if it fails
Sourcepub fn render(&self) -> TemplateResult<String>
pub fn render(&self) -> TemplateResult<String>
Render the template with the current context
Sourcepub fn render_with_comments<P: AsRef<Path>>(
&self,
file_path: P,
) -> TemplateResult<Option<String>>
pub fn render_with_comments<P: AsRef<Path>>( &self, file_path: P, ) -> TemplateResult<Option<String>>
Render the template with the current context and wrap it in comment syntax
Sourcepub fn default_comment_styles() -> HashMap<String, CommentStyle>
pub fn default_comment_styles() -> HashMap<String, CommentStyle>
Get the default comment styles for common file extensions
Sourcepub fn default_blacklist() -> Blacklist
pub fn default_blacklist() -> Blacklist
Get the default blacklist extensions (binary files, archives, etc.)
Sourcepub fn should_skip(&self, file_path: &str) -> bool
pub fn should_skip(&self, file_path: &str) -> bool
Check if a file should be skipped based on blacklist
Sourcepub fn get_comment_style<P: AsRef<Path>>(
&self,
file_path: P,
) -> Option<CommentStyle>
pub fn get_comment_style<P: AsRef<Path>>( &self, file_path: P, ) -> Option<CommentStyle>
Get the comment style for a file extension
Sourcepub fn add_field(&mut self, section: Option<&str>, key: &str, value: Value)
pub fn add_field(&mut self, section: Option<&str>, key: &str, value: Value)
Add a field to a specific section or to variables if no section is specified
§Examples
use chipa_touch::templates::config::Template;
use serde_json::json;
let toml = r#"
[config]
template = "Test"
[config.owner]
username = "user"
"#;
let mut template = Template::parse(toml).unwrap();
// Add to variables section (default)
template.add_field(None, "version", json!("1.0.0"));
// Add to a custom section
template.add_field(Some("metadata"), "key", json!("value"));Sourcepub fn add_to_array(&mut self, section: &str, item: Value)
pub fn add_to_array(&mut self, section: &str, item: Value)
Add an item to an array section (like authors, contributors, sponsors, etc.) Creates the array if it doesn’t exist
§Examples
use chipa_touch::templates::config::Template;
use serde_json::json;
let toml = r#"
[config]
template = "Test"
[config.owner]
username = "user"
"#;
let mut template = Template::parse(toml).unwrap();
// Add a new author
template.add_to_array("authors", json!({
"username": "newuser",
"name": "New User",
"role": "Contributor"
}));
// Add a sponsor
template.add_to_array("sponsors", json!({
"name": "ACME Corp",
"tier": "Gold"
}));Sourcepub fn remove_field(&mut self, section: Option<&str>, key: &str) -> bool
pub fn remove_field(&mut self, section: Option<&str>, key: &str) -> bool
Remove a field from a section
§Examples
use chipa_touch::templates::config::Template;
let toml = r#"
[config]
template = "Test"
[config.owner]
username = "user"
[variables]
old_version = "0.1.0"
"#;
let mut template = Template::parse(toml).unwrap();
template.remove_field(None, "old_version"); // Remove from variables
template.remove_field(Some("metadata"), "deprecated_key");Sourcepub fn remove_from_array(&mut self, section: &str, index: usize) -> bool
pub fn remove_from_array(&mut self, section: &str, index: usize) -> bool
Remove an item from an array section by index
§Examples
use chipa_touch::templates::config::Template;
let toml = r#"
[config]
template = "Test"
[config.owner]
username = "user"
[[authors]]
username = "author1"
[[authors]]
username = "author2"
"#;
let mut template = Template::parse(toml).unwrap();
template.remove_from_array("authors", 1); // Remove second authorSourcepub fn get_array_items(&self, section: &str) -> Option<Vec<Value>>
pub fn get_array_items(&self, section: &str) -> Option<Vec<Value>>
Get all items from an array section
Sourcepub fn update_array_item(
&mut self,
section: &str,
index: usize,
item: Value,
) -> bool
pub fn update_array_item( &mut self, section: &str, index: usize, item: Value, ) -> bool
Update an item in an array section by index
Sourcepub fn store(&self) -> TemplateResult<String>
pub fn store(&self) -> TemplateResult<String>
Serialize the template configuration to TOML string
Auto Trait Implementations§
impl Freeze for Template
impl RefUnwindSafe for Template
impl Send for Template
impl Sync for Template
impl Unpin for Template
impl UnwindSafe for Template
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoSpanned for T
impl<T> IntoSpanned for T
Source§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg or
a color-specific method, such as OwoColorize::green, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg or
a color-specific method, such as OwoColorize::on_yellow, Read more