Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

58 Commits

Repository files navigation

Difflib Build Status

Port of Python's difflib library to Rust. It's provide all necessary tools for comparing word sequences.

Installation

Simply add difflib to your dependencies block in Cargo.toml

[dependencies]
difflib = "0.4.0"

Documentation

Documentation is available at https://github.com/DimaKudosh/difflib/wiki

Example

externcrate difflib;use difflib::differ::Differ;use difflib::sequencematcher::SequenceMatcher;fnmain(){// unified_difflet first_text = "one two three four".split(" ").collect::<Vec<&str>>();let second_text = "zero one tree four".split(" ").collect::<Vec<&str>>();let diff = difflib::unified_diff(&first_text,&second_text,"Original","Current","2005-01-26 23:30:50","2010-04-02 10:20:52",3,);for line in&diff {println!("{:?}", line);}//context_difflet diff = difflib::context_diff(&first_text,&second_text,"Original","Current","2005-01-26 23:30:50","2010-04-02 10:20:52",3,);for line in&diff {println!("{:?}", line);}//get_close_matcheslet words = vec!["ape","apple","peach","puppy"];let result = difflib::get_close_matches("appel", words,3,0.6);println!("{:?}", result);//Differ exampleslet differ = Differ::new();let diff = differ.compare(&first_text,&second_text);for line in&diff {println!("{:?}", line);}//SequenceMatcher examplesletmut matcher = SequenceMatcher::new("one two three four","zero one tree four");let m = matcher.find_longest_match(0,18,0,18);println!("{:?}", m);let all_matches = matcher.get_matching_blocks();println!("{:?}", all_matches);let opcode = matcher.get_opcodes();println!("{:?}", opcode);let grouped_opcodes = matcher.get_grouped_opcodes(2);println!("{:?}", grouped_opcodes);let ratio = matcher.ratio();println!("{:?}", ratio);
matcher.set_seqs("aaaaa","aaaab");println!("{:?}", matcher.ratio());}

About

Port of Python's difflib library to Rust

Topics

Resources

Stars

54 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages