| 1 | module main |
| 2 | |
| 3 | import arrays.diff |
| 4 | import os |
| 5 | |
| 6 | // diff_files generate diff for two files. |
| 7 | fn diff_files(src_file string, dst_file string) !string { |
| 8 | src := os.read_lines(src_file)! |
| 9 | dst := os.read_lines(dst_file)! |
| 10 | |
| 11 | mut ctx := diff.diff(src, dst) |
| 12 | return ctx.generate_patch(colorful: true, block_header: true) |
| 13 | } |
| 14 | |
| 15 | fn main() { |
| 16 | f1 := "Module{ |
| 17 | name: 'Foo' |
| 18 | description: 'Awesome V module.' |
| 19 | version: '0.0.0' |
| 20 | dependencies: [] |
| 21 | } |
| 22 | " |
| 23 | f2 := "Module{ |
| 24 | name: 'foo' |
| 25 | description: 'Awesome V module.' |
| 26 | version: '0.1.0' |
| 27 | license: 'MIT' |
| 28 | dependencies: [] |
| 29 | } |
| 30 | " |
| 31 | p1 := 'diff_f1.txt' |
| 32 | p2 := 'diff_f2.txt' |
| 33 | os.write_file(p1, f1)! |
| 34 | os.write_file(p2, f2)! |
| 35 | |
| 36 | str := diff_files(p1, p2)! |
| 37 | println(str) |
| 38 | |
| 39 | os.rm(p1)! |
| 40 | os.rm(p2)! |
| 41 | } |
| 42 | |