ChangeLog

Struct ChangeLog 

Source
pub struct ChangeLog(/* private fields */);
Expand description

A node in the changelog syntax tree.

Implementations§

Source§

impl ChangeLog

Source

pub fn line(&self) -> usize

Get the line number (0-indexed) where this node starts.

Source

pub fn column(&self) -> usize

Get the column number (0-indexed, in bytes) where this node starts.

Source

pub fn line_col(&self) -> (usize, usize)

Get both line and column (0-indexed) where this node starts. Returns (line, column) where column is measured in bytes from the start of the line.

Source§

impl ChangeLog

Source

pub fn new() -> ChangeLog

Create a new, empty changelog.

Source

pub fn parse(text: &str) -> Parse<ChangeLog>

Parse changelog text, returning a Parse result

Source

pub fn iter(&self) -> impl Iterator<Item = Entry> + '_

Returns an iterator over all entries in the changelog file.

Source

pub fn entries(&self) -> impl Iterator<Item = Entry> + '_

👎Deprecated since 0.2.0: use iter instead

Returns an iterator over all entries in the changelog file.

Source

pub fn new_empty_entry(&mut self) -> EntryBuilder

Create a new, empty entry.

Source

pub fn new_entry(&mut self) -> EntryBuilder

Return a builder for a new entry.

Source

pub fn try_auto_add_change( &mut self, change: &[&str], author: (String, String), datetime: Option<impl IntoTimestamp>, urgency: Option<Urgency>, ) -> Result<Entry, Error>

Add a change to the changelog.

This will update the current changelog entry if it is considered unreleased. Otherwise, a new entry will be created.

If there is an existing entry, the change will be added to the end of the entry. If the previous change was attributed to another author, a new section line (“[ Author Name ]”) will be added as well.

§Arguments
  • change - The change to add, e.g. &[“* Fix a bug”]
  • author - The author of the change, e.g. (“John Doe”, “john@example”)
§Errors

Returns an error if text rewrapping fails.

Source

pub fn auto_add_change( &mut self, change: &[&str], author: (String, String), datetime: Option<DateTime<FixedOffset>>, urgency: Option<Urgency>, ) -> Entry

👎Deprecated since 0.2.10: Use try_auto_add_change for proper error handling

Automatically add a change to the changelog

If there is an existing entry, the change will be added to the end of the entry. If the previous change was attributed to another author, a new section line (“[ Author Name ]”) will be added as well.

§Deprecated

This function panics on errors. Use ChangeLog::try_auto_add_change instead for proper error handling.

§Panics

Panics if text rewrapping fails.

§Arguments
  • change - The change to add, e.g. &[“* Fix a bug”]
  • author - The author of the change, e.g. (“John Doe”, “john@example”)
Source

pub fn pop_first(&mut self) -> Option<Entry>

Pop the first entry from the changelog.

Source

pub fn read_path(path: impl AsRef<Path>) -> Result<ChangeLog, Error>

Read a changelog file from a path

Source

pub fn read<R: Read>(r: R) -> Result<ChangeLog, Error>

Read a changelog file from a reader

Source

pub fn read_relaxed<R: Read>(r: R) -> Result<ChangeLog, Error>

Read a changelog file from a reader, allowing for syntax errors

Source

pub fn write<W: Write>(&self, w: W) -> Result<(), Error>

Write the changelog to a writer

Source

pub fn write_to_path(&self, p: &Path) -> Result<(), Error>

Write the changelog to a path

Source

pub fn iter_by_author( &self, ) -> impl Iterator<Item = (String, String, Vec<Entry>)> + '_

Iterator over entries grouped by their maintainer (author).

Returns an iterator over tuples of (maintainer_name, maintainer_email, Vec) where entries with the same maintainer are grouped together.

Source

pub fn get_all_authors(&self) -> HashSet<Identity>

Get all unique authors across all entries in the changelog.

This includes both maintainers from entry footers and authors from [ Author Name ] sections.

Trait Implementations§

Source§

impl AstNode for ChangeLog

Source§

type Language = Lang

Source§

fn can_cast(kind: SyntaxKind) -> bool

Source§

fn cast(syntax: SyntaxNode<Lang>) -> Option<Self>

Source§

fn syntax(&self) -> &SyntaxNode<Lang>

Source§

fn clone_for_update(&self) -> Self
where Self: Sized,

Source§

fn clone_subtree(&self) -> Self
where Self: Sized,

Source§

impl Clone for ChangeLog

Source§

fn clone(&self) -> ChangeLog

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ChangeLog

Source§

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

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

impl Default for ChangeLog

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Display for ChangeLog

Source§

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

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

impl FromIterator<Entry> for ChangeLog

Source§

fn from_iter<T: IntoIterator<Item = Entry>>(iter: T) -> Self

Creates a value from an iterator. Read more
Source§

impl FromStr for ChangeLog

Source§

type Err = ParseError

The associated error which can be returned from parsing.
Source§

fn from_str(s: &str) -> Result<Self, Self::Err>

Parses a string s to return a value of this type. Read more
Source§

impl Hash for ChangeLog

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl IntoIterator for ChangeLog

Source§

type Item = Entry

The type of the elements being iterated over.
Source§

type IntoIter = IntoIter<Entry>

Which kind of iterator are we turning this into?
Source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
Source§

impl PartialEq for ChangeLog

Source§

fn eq(&self, other: &ChangeLog) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for ChangeLog

Source§

impl StructuralPartialEq for ChangeLog

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<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. 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> 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> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. 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.