Skip to main content

ConfigManager

Struct ConfigManager 

Source
pub struct ConfigManager;
Expand description

Configuration loading and management

Handles the complex logic of loading configuration from multiple sources and merging them according to the priority hierarchy.

Implementations§

Source§

impl ConfigManager

Source

pub fn load_config(vault_path: Option<&Path>) -> ConfigResult<ZettelConfig>

Load complete configuration from all sources

This implements the configuration hierarchy by loading from multiple sources and merging them in priority order.

LOADING STRATEGY:

  1. Start with built-in defaults
  2. Override with global config file (if exists)
  3. Override with vault-specific config (if exists)
  4. Override with environment variables
  5. Override with command-line arguments (handled by clap)

ERROR HANDLING:

  • Missing config files are not errors (use defaults)
  • Invalid TOML syntax is an error with helpful context
  • Validation errors include suggestions for fixes
Source

pub fn generate_default_config() -> String

Generate a default configuration file with comments

Creates a well-documented config file that users can customize. Includes explanations of each setting and examples of common configurations.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.