pub struct Compctl {Show 23 fields
pub refc: i32,
pub next: Option<Arc<Compctl>>,
pub mask: u64,
pub mask2: u64,
pub keyvar: Option<String>,
pub glob: Option<String>,
pub str: Option<String>,
pub func: Option<String>,
pub explain: Option<String>,
pub ylist: Option<String>,
pub prefix: Option<String>,
pub suffix: Option<String>,
pub subcmd: Option<String>,
pub substr: Option<String>,
pub withd: Option<String>,
pub hpat: Option<String>,
pub hnum: i32,
pub gname: Option<String>,
pub ext: Option<Arc<Compctl>>,
pub cond: Option<Box<Compcond>>,
pub xor: Option<Arc<Compctl>>,
pub matcher: Option<Box<Cmatcher>>,
pub mstr: Option<String>,
}Expand description
Port of struct compctl from Src/Zle/compctl.h:93-115. The
real per-command compctl descriptor — what compctl name args
allocates and registers in the compctltab hashtable.
C definition (c:93-115) — 22 fields. Field names + types
preserved verbatim; pointer types collapse to Option<String> /
Option<std::sync::Arc<Compctl>> etc. as appropriate.
Fields§
§refc: i32Reference count.
next: Option<Arc<Compctl>>Next compctl in a -x chain.
mask: u64Mask of completion-target flags (CC_*).
mask2: u64Secondary mask of completion-target flags (CC_*, mask2).
keyvar: Option<String>-k variable name.
glob: Option<String>-g glob pattern.
str: Option<String>-s expansion string.
func: Option<String>-K function name.
explain: Option<String>-X explanation.
ylist: Option<String>-y user-defined description for listing.
prefix: Option<String>-P prefix.
suffix: Option<String>-S suffix.
subcmd: Option<String>-l command name to use.
substr: Option<String>-1 command name to use.
withd: Option<String>-w with-directory.
hpat: Option<String>-H history pattern.
hnum: i32-H number of events to search.
gname: Option<String>-J/-V group name.
ext: Option<Arc<Compctl>>-x first compctl in the chain.
cond: Option<Box<Compcond>>-x condition for this compctl.
xor: Option<Arc<Compctl>>+ xor’ed compctl chain.
matcher: Option<Box<Cmatcher>>-M matcher control — head of the Cmatcher chain compiled
from this compctl’s match-spec arg.
mstr: Option<String>-M matcher string.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Compctl
impl RefUnwindSafe for Compctl
impl Send for Compctl
impl Sync for Compctl
impl Unpin for Compctl
impl UnsafeUnpin for Compctl
impl UnwindSafe for Compctl
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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,
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> 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 moreSource§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.Source§impl<U, T> ToOwnedObj<U> for Twhere
U: FromObjRef<T>,
impl<U, T> ToOwnedObj<U> for Twhere
U: FromObjRef<T>,
Source§fn to_owned_obj(&self, data: FontData<'_>) -> U
fn to_owned_obj(&self, data: FontData<'_>) -> U
T, using the provided data to resolve any offsets.