alpm_srcinfo::parser

Enum PackageBaseProperty

Source
pub enum PackageBaseProperty {
    EmptyLine,
    Comment(String),
    MetaProperty(SharedMetaProperty),
    PackageVersion(PackageVersion),
    PackageRelease(PackageRelease),
    PackageEpoch(Epoch),
    ValidPgpKeys(OpenPGPIdentifier),
    RelationProperty(RelationProperty),
    CheckDependency(ArchProperty<PackageRelation>),
    MakeDependency(ArchProperty<PackageRelation>),
    SourceProperty(SourceProperty),
}
Expand description

All possible properties of a pkgbase section in SRCINFO data.

The ordering of the variants represents the order in which keywords would appear in a SRCINFO file. This is important as the file format represents stateful data which needs normalization.

The SRCINFO format allows comments and empty lines anywhere in the file. To produce meaningful error messages for the consumer during data normalization, the line number on which an error occurred is encoded in the parsed data.

Variants§

§

EmptyLine

§

Comment(String)

§

MetaProperty(SharedMetaProperty)

§

PackageVersion(PackageVersion)

§

PackageRelease(PackageRelease)

§

PackageEpoch(Epoch)

§

ValidPgpKeys(OpenPGPIdentifier)

§

RelationProperty(RelationProperty)

§

CheckDependency(ArchProperty<PackageRelation>)

Build-time specific check dependencies.

§

MakeDependency(ArchProperty<PackageRelation>)

Build-time specific make dependencies.

§

SourceProperty(SourceProperty)

Source file properties

Implementations§

Source§

impl PackageBaseProperty

Source

fn parser(input: &mut &str) -> ModalResult<PackageBaseProperty>

Recognizes any line in the pkgbase section of SRCINFO data.

This is a wrapper to separate the logic between comments/empty lines and actual pkgbase properties.

Source

fn property_parser(input: &mut &str) -> ModalResult<PackageBaseProperty>

Recognizes keyword assignments in the pkgbase section in SRCINFO data.

Since there’re a lot of keywords and many of them are shared between the pkgbase and pkgname section, the keywords are bundled into somewhat logical groups.

Source

fn keyword_parser(input: &mut &str) -> ModalResult<PackageBaseKeyword>

Recognizes a PackageBaseKeyword in an input string slice.

Source

fn exclusive_property_parser( input: &mut &str, ) -> ModalResult<PackageBaseProperty>

Recognizes keyword assignments exclusive to the pkgbase section in SRCINFO data.

This function backtracks in case no keyword in this group matches.

Trait Implementations§

Source§

impl Debug for PackageBaseProperty

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> 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> Same for T

Source§

type Output = T

Should always be Self
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> ErasedDestructor for T
where T: 'static,

§

impl<T> MaybeSendSync for T