pub struct ScanViewIdentity {
pub provider: String,
pub buffer_name: String,
pub view_mode: Option<String>,
pub no_rows_message: String,
}Expand description
Open (or re-drive) the agenda view.
MV.3 — the identity of a scan-driven view: which provider name, which buffer, which minor to activate.
The agenda used to hold these as module constants, which is precisely what
made the view un-ownable by the plugin whose feature it is. They are a
parameter now, so the same machinery serves the agenda and any
plugin-declared scan view; only the names differ.
The machinery itself does NOT move to the guest and is not meant to: the bounded walk, the batched reads, the read-and-parse-once handoff, the stable sort and the group-run computation are measured host work that no plugin should reimplement. What moves is who says what the view is called.
Fields§
§provider: StringThe provider name, used in messages and in the headerline prefix.
buffer_name: StringThe view’s buffer name.
view_mode: Option<String>A minor the owner wants on the view, beyond the host’s own refresh mode.
no_rows_message: StringWhat to say when no source produces rows for this view.
A field rather than a generic sentence because the message is
USER-VISIBLE behaviour, and MV.3 is a migration of ownership, not of
behaviour. Parameterising the wording along with the prefix silently
reworded the agenda’s decline; agenda_declines_when_no_plugin_provides_rows
caught it, which is exactly the job the “existing tests pass unedited”
rule was given.
Trait Implementations§
Source§impl Clone for ScanViewIdentity
impl Clone for ScanViewIdentity
Source§fn clone(&self) -> ScanViewIdentity
fn clone(&self) -> ScanViewIdentity
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for ScanViewIdentity
impl RefUnwindSafe for ScanViewIdentity
impl Send for ScanViewIdentity
impl Sync for ScanViewIdentity
impl Unpin for ScanViewIdentity
impl UnsafeUnpin for ScanViewIdentity
impl UnwindSafe for ScanViewIdentity
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
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