Skip to main content

Config

Struct Config 

Source
pub struct Config {
Show 30 fields pub autotag: AutotagConfig, pub backup_dir: PathBuf, pub budgets: HashMap<String, String>, pub current_section: String, pub date_tags: Vec<String>, pub default_tags: Vec<String>, pub disabled_commands: Vec<String>, pub doing_file: PathBuf, pub doing_file_sort: SortOrder, pub editors: EditorsConfig, pub export_templates: HashMap<String, Option<TemplateConfig>>, pub history_size: u32, pub include_notes: bool, pub interaction: InteractionConfig, pub interval_format: String, pub marker_color: String, pub marker_tag: String, pub never_finish: Vec<String>, pub never_time: Vec<String>, pub order: SortOrder, pub paginate: bool, pub plugins: PluginsConfig, pub search: SearchConfig, pub shortdate_format: ShortdateFormatConfig, pub tag_sort: String, pub template_path: PathBuf, pub templates: HashMap<String, TemplateConfig>, pub timer_format: String, pub totals_format: String, pub views: HashMap<String, ViewConfig>,
}
Expand description

Top-level configuration for the doing application.

Fields§

§autotag: AutotagConfig§backup_dir: PathBuf§budgets: HashMap<String, String>§current_section: String§date_tags: Vec<String>§default_tags: Vec<String>§disabled_commands: Vec<String>§doing_file: PathBuf§doing_file_sort: SortOrder§editors: EditorsConfig§export_templates: HashMap<String, Option<TemplateConfig>>§history_size: u32§include_notes: bool§interaction: InteractionConfig§interval_format: String§marker_color: String§marker_tag: String§never_finish: Vec<String>§never_time: Vec<String>§order: SortOrder§paginate: bool§plugins: PluginsConfig§search: SearchConfig§shortdate_format: ShortdateFormatConfig§tag_sort: String§template_path: PathBuf§templates: HashMap<String, TemplateConfig>§timer_format: String§totals_format: String§views: HashMap<String, ViewConfig>

Implementations§

Source§

impl Config

Source

pub fn load() -> Result<Self>

Load the fully resolved configuration.

Discovery order:

  1. Parse global config file (env var -> XDG -> ~/.doingrc).
  2. Parse local .doingrc files (walked root-to-leaf from CWD).
  3. Deep-merge all layers (local overrides global).
  4. Apply environment variable overrides.
  5. Deserialize into Config (serde fills defaults for missing keys).
  6. Expand ~ in path fields.

Missing config files produce defaults, not errors.

Source

pub fn load_from(start_dir: &Path) -> Result<Self>

Load configuration using a specific directory for local config discovery.

Trait Implementations§

Source§

impl Clone for Config

Source§

fn clone(&self) -> Config

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Config

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Config

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for Config
where Config: Default,

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for Config

Source§

fn eq(&self, other: &Config) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for Config

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Eq for Config

Source§

impl StructuralPartialEq for Config

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,