gap

Functions

pub fn compare_lists(first_sequence: List(a), second_sequence: List(
    a,
  )) -> Comparison(a)

Compare two lists and return a ListComparison which will be styled as list when passed to to_styled

Will use the default myers algorithm

pub fn compare_lists_with_algorithm(first_sequence: List(a), second_sequence: List(
    a,
  ), algorithm: fn(List(a), List(a)) -> Comparison(a)) -> Comparison(
  a,
)

Compare two lists and return a ListComparison which will be styled as list when passed to to_styled

Algorithm can be used to select either myers or the legacy lcs algorithm

pub fn compare_strings(first: String, second: String) -> Comparison(
  String,
)

Compare two string and return a StringComparison which will be styled as string when passed to to_styled

Will use the default myers algorithm

pub fn compare_strings_with_algorithm(first: String, second: String, algorithm: fn(
    List(String),
    List(String),
  ) -> Comparison(String)) -> Comparison(String)

Compare two string and return a StringComparison which will be styled as string when passed to to_styled

Algorithm can be used to select either myers or the legacy lcs algorithm

pub fn lcs(first_sequence: List(a), second_sequence: List(a)) -> Comparison(
  a,
)

An adapter for the the lcs (longest common subsequence) algorithm. Intended to be use as an argument to compare_strings_with_algorithm or compare_lists_with_algorithm

pub fn myers(first_sequence: List(a), second_sequence: List(a)) -> Comparison(
  a,
)

An adapter for the the myers algorithm. Intended to be use as an argument to compare_strings_with_algorithm or compare_lists_with_algorithm

pub fn to_styled(comparison: Comparison(a)) -> StyledComparison

Creates a StyledComparison from Comparison using default values for highting and serialization.

Example

> compare_strings("abc", "abe") |> to_styled()

This will return a StyledComparison(first, second) where “c” in first is green and “e” in second is red.

Search Document