Struct SearchDirectoriesForProjectAndFileName

Source
pub struct SearchDirectoriesForProjectAndFileName<'a, TProject, TFileName> { /* private fields */ }
Expand description

A list of search directories that the config files will be searched under, scoped to a particular project and config file name.

Implementations§

Source§

impl<'a, TProject, TFileName> SearchDirectoriesForProjectAndFileName<'a, TProject, TFileName>

Source

pub fn find_files<TDropinSuffix>( self, dropin_suffix: Option<TDropinSuffix>, ) -> Result<Files>
where TProject: AsRef<OsStr>, TFileName: AsRef<OsStr>, TDropinSuffix: AsRef<OsStr>,

Returns an Iterator of (PathBuf, File)s for all the files found in the specified search directories. The project name is appended to each search directory, then those directories are searched for files named file_name.

If dropin_suffix is provided, then directories named format!("{file_name}.d") under the search directories are treated as dropin directories. Only dropin files whose name ends with dropin_suffix will be considered. Note that if you intend to use a file extension as a suffix, then dropin_suffix must include the ., such as ".conf".

You will likely want to parse each file returned by this function according to whatever format they’re supposed to contain and merge them into a unified config object, with settings from later files overriding settings from earlier files. This function does not guarantee that the files are well-formed, only that they exist and could be opened for reading.

§Errors

Any errors from reading non-existing directories and non-existing files are ignored. Apart from that, any I/O errors from walking the directories and from opening the files found within are propagated.

Trait Implementations§

Source§

impl<'a, TProject: Clone, TFileName: Clone> Clone for SearchDirectoriesForProjectAndFileName<'a, TProject, TFileName>

Source§

fn clone( &self, ) -> SearchDirectoriesForProjectAndFileName<'a, TProject, TFileName>

Returns a copy 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<'a, TProject: Debug, TFileName: Debug> Debug for SearchDirectoriesForProjectAndFileName<'a, TProject, TFileName>

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a, TProject, TFileName> Freeze for SearchDirectoriesForProjectAndFileName<'a, TProject, TFileName>
where TProject: Freeze, TFileName: Freeze,

§

impl<'a, TProject, TFileName> RefUnwindSafe for SearchDirectoriesForProjectAndFileName<'a, TProject, TFileName>
where TProject: RefUnwindSafe, TFileName: RefUnwindSafe,

§

impl<'a, TProject, TFileName> Send for SearchDirectoriesForProjectAndFileName<'a, TProject, TFileName>
where TProject: Send, TFileName: Send,

§

impl<'a, TProject, TFileName> Sync for SearchDirectoriesForProjectAndFileName<'a, TProject, TFileName>
where TProject: Sync, TFileName: Sync,

§

impl<'a, TProject, TFileName> Unpin for SearchDirectoriesForProjectAndFileName<'a, TProject, TFileName>
where TProject: Unpin, TFileName: Unpin,

§

impl<'a, TProject, TFileName> UnwindSafe for SearchDirectoriesForProjectAndFileName<'a, TProject, TFileName>
where TProject: UnwindSafe, TFileName: UnwindSafe,

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