releam/commit

Types

pub type Author {
  Author(name: String, email: String)
}

Constructors

  • Author(name: String, email: String)
pub type Commit {
  Commit(
    hash: String,
    short_hash: String,
    author: Author,
    date: String,
    conventional_attributes: ConventionalAttributes,
  )
}

Constructors

  • Commit(
      hash: String,
      short_hash: String,
      author: Author,
      date: String,
      conventional_attributes: ConventionalAttributes,
    )
pub type CommitParseError {
  InvalidCommit(String)
  InvalidConventionalAttributes(String)
}

Constructors

  • InvalidCommit(String)
  • InvalidConventionalAttributes(String)

Functions

pub fn group_by_commit_type(
  commits: List(Commit),
) -> List(#(CommitType, List(Commit)))

Groups commits by their conventional commit type

pub fn parse_list(commits: List(String)) -> List(Commit)

Parses a list of commits from the git log output to a list of Commit records

pub fn parse_one(raw: String) -> Result(Commit, CommitParseError)

Parses a string commit from the git log output to a Commit record

Search Document