DirectoryConfig

Struct DirectoryConfig 

Source
pub struct DirectoryConfig { /* private fields */ }
Expand description

Configuration for loading known values from directories.

This struct specifies which directories to search for JSON registry files. Directories are processed in order, with values from later directories overriding values from earlier directories when codepoints collide.

§Examples

use known_values::DirectoryConfig;

// Use only the default directory (~/.known-values/)
let config = DirectoryConfig::default();

// Use custom paths
let config = DirectoryConfig::with_paths(vec![
    "/etc/known-values".into(),
    "/usr/share/known-values".into(),
]);

// Use custom paths with default appended
let config = DirectoryConfig::with_paths_and_default(vec![
    "/etc/known-values".into(),
]);

Implementations§

Source§

impl DirectoryConfig

Source

pub fn new() -> Self

Creates a new empty configuration with no search paths.

Source

pub fn default_only() -> Self

Creates configuration with only the default directory (~/.known-values/).

Source

pub fn with_paths(paths: Vec<PathBuf>) -> Self

Creates configuration with custom paths (processed in order).

Later paths in the list take precedence over earlier paths when values have the same codepoint.

Source

pub fn with_paths_and_default(paths: Vec<PathBuf>) -> Self

Creates configuration with custom paths followed by the default directory.

The default directory (~/.known-values/) is appended to the list, so its values will override values from the custom paths.

Source

pub fn default_directory() -> PathBuf

Returns the default directory: ~/.known-values/

Falls back to ./.known-values/ if the home directory cannot be determined.

Source

pub fn paths(&self) -> &[PathBuf]

Returns the configured search paths.

Source

pub fn add_path(&mut self, path: PathBuf)

Adds a path to the configuration.

The new path will be processed after existing paths, so its values will override values from earlier paths.

Trait Implementations§

Source§

impl Clone for DirectoryConfig

Source§

fn clone(&self) -> DirectoryConfig

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 DirectoryConfig

Source§

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

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

impl Default for DirectoryConfig

Source§

fn default() -> DirectoryConfig

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

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<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> Same for T

Source§

type Output = T

Should always be Self
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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V