Skip to main content

ScanViewOptions

Struct ScanViewOptions 

Source
pub struct ScanViewOptions {
    pub roots: Vec<PathBuf>,
    pub scan_args: Vec<String>,
    pub max_files: Option<usize>,
}
Expand description

What a scan walks.

Fields§

§roots: Vec<PathBuf>

AF.2: the paths to scan — each a FILE or a DIRECTORY. A directory is walked; a file is taken as given, without asking whether any source claimed its extension, because naming a file IS the claim.

Empty means “not resolved yet”, not “scan nothing”. The scan then asks every live source for its own roots and falls back to the project root if none answers. It cannot be resolved here, because a source’s answer comes from the guest and the opener runs on the dispatch path.

That is why Default is now empty where it used to be the project root: the fallback moved to the one place that can see every source’s answer, rather than being baked in before any of them was asked.

§scan_args: Vec<String>

OA.11a: the view’s own scan arguments, handed to every source’s begin uninterpreted. The host routes these; it never reads them.

Separate from roots because they have separate owners. The host must understand a root — it does the walk — and must not need to understand this: it is the source’s own vocabulary (org’s agenda dispatcher names which custom command to run). Folding the two together means a command key gets taken for a directory path and the scan silently covers nothing.

Sticky across a refresh exactly as roots is, and for the same reason: gr re-enters through this path, so an agenda opened for one command must not quietly revert to the default one. Replaced only when a new open supplies its own.

§max_files: Option<usize>

Cap on files offered to a source (not files walked). None = unlimited. A bound exists because the walk is unattended: a user who runs the agenda from $HOME should get a slow answer, not a hung one.

Applies to the UNION across roots, not per root — a cap that reset for each configured path would not be a bound.

Trait Implementations§

Source§

impl Clone for ScanViewOptions

Source§

fn clone(&self) -> ScanViewOptions

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 ScanViewOptions

Source§

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

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

impl Default for ScanViewOptions

Source§

fn default() -> ScanViewOptions

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.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
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.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more