Struct parse_changelog::Parser
source · [−]pub struct Parser { /* private fields */ }
Expand description
A changelog parser.
Implementations
sourceimpl Parser
impl Parser
sourcepub fn version_format(&mut self, format: &str) -> Result<&mut Self, Error>
pub fn version_format(&mut self, format: &str) -> Result<&mut Self, Error>
Sets the version format.
## v0.1.0 -- 2020-01-01
^^^^^
Tip: To customize the text before the version number (e.g., “v” in “# v0.1.0”,
“Version “ in “# Version 0.1.0”, etc.), use the prefix_format
method
instead of this method.
Default
The default version format is based on Semantic Versioning.
This is parsed by using the following regular expression:
^\d+\.\d+\.\d+(-[\w\.-]+)?(\+[\w\.-]+)?$
Errors
Returns an error if any of the following:
- The specified format is not a valid regular expression or supported by regex crate.
- The specified format is empty or contains only whitespace.
sourcepub fn prefix_format(&mut self, format: &str) -> Result<&mut Self, Error>
pub fn prefix_format(&mut self, format: &str) -> Result<&mut Self, Error>
Sets the prefix format.
“Prefix” means the range from the first non-whitespace character after heading to the character before the version (including whitespace characters). For example:
## Version 0.1.0 -- 2020-01-01
^^^^^^^^
## v0.1.0 -- 2020-01-01
^
Default
By default only “v”, “Version “, “Release “, and “” (no prefix) are allowed as prefixes.
This is parsed by using the following regular expression:
^(v|Version |Release )?
Errors
Returns an error if any of the following:
- The specified format is not a valid regular expression or supported by regex crate.
sourcepub fn parse<'a>(&self, text: &'a str) -> Result<Changelog<'a>, Error>
pub fn parse<'a>(&self, text: &'a str) -> Result<Changelog<'a>, Error>
Parses release notes from the given text
.
See crate level documentation for changelog and version format supported by default.
Errors
Returns an error if any of the following:
- There are multiple release notes for one version.
- No release was found. This usually means that the changelog isn’t written in the supported format, or that the specified format is wrong if you specify your own format.
sourcepub fn parse_iter<'a, 'r>(&'r self, text: &'a str) -> ParseIter<'a, 'r>ⓘNotable traits for ParseIter<'a, '_>impl<'a> Iterator for ParseIter<'a, '_> type Item = Release<'a>;
pub fn parse_iter<'a, 'r>(&'r self, text: &'a str) -> ParseIter<'a, 'r>ⓘNotable traits for ParseIter<'a, '_>impl<'a> Iterator for ParseIter<'a, '_> type Item = Release<'a>;
Returns an iterator over all release notes in the given text
.
Unlike parse
method, the returned iterator doesn’t error on
duplicate release notes or empty changelog.
See crate level documentation for changelog and version format supported by default.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Parser
impl Send for Parser
impl Sync for Parser
impl Unpin for Parser
impl UnwindSafe for Parser
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more