crystal-diff

March 26, 2019 ยท View on GitHub

Crystal sequence differencing implementation.

Based on the algorithm proposed in "An O(NP) Sequence Comparision Algorithm" (Wu, 1989)

Build Status

Installation

Add this to your application's shard.yml:

dependencies:
  diff:
    github: MakeNowJust/crystal-diff

Usage

require "colorize"
require "../src/diff"

Diff.diff("hello world", "hello good-bye").each do |chunk|
  print chunk.data.colorize(
    chunk.append? ? :green : chunk.delete? ? :red : :dark_gray)
end
puts

result

Development

$ crystal spec

Contributing

  1. Fork it ( https://github.com/MakeNowJust/crystal-diff/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors