Skip to main content

FileSet

Struct FileSet 

Source
pub struct FileSet { /* private fields */ }

Implementations§

Source§

impl FileSet

Source

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

Construct with the initial path list. paths must be non-empty for navigation to make sense; an empty list is technically valid (stdin-source startup uses an empty FileSet) but all navigation methods then return errors or None.

Source

pub fn current(&self) -> Option<&Path>

Source

pub fn len(&self) -> usize

Total number of files in the set.

Source

pub fn current_index(&self) -> usize

Source

pub fn is_empty(&self) -> bool

Source

pub fn set_current_index(&mut self, index: usize)

Set the cursor directly. Out-of-range indices are clamped to the last entry (or no-op if the list is empty).

Source

pub fn next(&mut self) -> Result<&Path, FileSetError>

Advance to the next file. Returns the new current path on success or NoNextFile if already at the last entry.

Source

pub fn prev(&mut self) -> Result<&Path, FileSetError>

Move to the previous file. Returns the new current path on success or NoPreviousFile if already at the first entry.

Source

pub fn first(&mut self) -> Option<&Path>

Jump to the first file. Returns the current path after the move, or None if the list is empty. Returns Option (not Result) because jumping to the boundary is always idempotent — there’s no “no first file” failure mode like there is for next.

Source

pub fn last(&mut self) -> Option<&Path>

Jump to the last file. Returns the current path after the move, or None if the list is empty. See first for the rationale behind Option rather than Result.

Source

pub fn append_and_switch(&mut self, path: PathBuf) -> &Path

Append path to the list and switch the cursor to it.

Source

pub fn delete_current(&mut self) -> Result<&Path, FileSetError>

Delete the current entry and move the cursor to the next file (or back to the previous if we were at the end). Returns the new current path. Errors with WouldEmpty when only one file remains.

Trait Implementations§

Source§

impl Clone for FileSet

Source§

fn clone(&self) -> FileSet

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for FileSet

Source§

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

Formats the value using the given formatter. 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> 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.