Commit Graph

7688 Commits (82890923cd4024c348a2d89cd8245cf71f64e000)
 

Author SHA1 Message Date
Wilfred Hughes 82890923cd Track entering/leaving parents explicitly
This produces significantly better diffs, and fixes some cases that
were outright wrong before.

Fixes #30
2022-02-20 12:43:52 +07:00
Wilfred Hughes 692f08f1f1 Merge hunks when lines are adjacent 2022-02-19 16:12:04 +07:00
Wilfred Hughes 0973f65899 cargo fmt 2022-02-19 14:51:15 +07:00
Wilfred Hughes 63673c799b Increment i consistently before asserting it's non-zero 2022-02-19 11:04:19 +07:00
Wilfred Hughes 69941aecb4 Assert that neighbours() always returns non-empty results 2022-02-18 23:26:31 +07:00
Wilfred Hughes aedd103b56 Log more of initial path if DFT_VERBOSE is set 2022-02-18 17:09:06 +07:00
Wilfred Hughes c2cfd09863 Put manual first in readme buttons 2022-02-17 00:13:49 +07:00
Wilfred Hughes fe1b949cda Define a BackgroundColor::is_dark helper 2022-02-14 15:54:42 +07:00
Wilfred Hughes 395f6663e6 Usage notes on regression test script 2022-02-13 17:25:58 +07:00
Wilfred Hughes d8cc1168b1 Make sample files naming consistent so they're all used in regression test 2022-02-13 17:21:20 +07:00
Wilfred Hughes f4b0d2f584 Rename JS sample file 2022-02-13 17:18:39 +07:00
Wilfred Hughes 469fc6b470 Don't log difftastic compile time when comparing 2022-02-13 17:16:45 +07:00
Wilfred Hughes 7f150ce883 Ignore temporary file from comparison tool 2022-02-13 17:16:30 +07:00
Wilfred Hughes 66f41c7053 Add reference file for current output hashes 2022-02-13 17:15:41 +07:00
Wilfred Hughes 3986bae12e Helper script for regression testing on sample files 2022-02-13 17:06:11 +07:00
Wilfred Hughes 3c1c5649f4 Ensure --color is still respected
This was broken in the port to owo_colors. owo_colors does not have a
global override: the override function only affects if_supports_color.
2022-02-13 16:54:57 +07:00
Wilfred Hughes 714edd8f0c Fix crash on empty substrings 2022-02-13 16:27:00 +07:00
Wilfred Hughes 653ebc8ad3 Allow debug printing of ColorOutput 2022-02-13 16:03:40 +07:00
Wilfred Hughes 1ef8a35fc1 Move function to the file it's used in 2022-02-13 15:40:06 +07:00
Wilfred Hughes 2595dcb93f Optimise: use one iterator when slicing by codepoint 2022-02-13 15:35:50 +07:00
Wilfred Hughes 6004855206 Port to owo_colors
This library is faster and actively maintained.

Closes #107
2022-02-13 15:13:40 +07:00
Wilfred Hughes d8ad9bec41 cargo fmt 2022-02-13 15:12:19 +07:00
Wilfred Hughes 675f3f77d0 Add TODO 2022-02-13 14:29:43 +07:00
Wilfred Hughes c5d8aaf812 Improve usage instructions in hlp and for wrong number of arguments 2022-02-13 12:46:08 +07:00
Wilfred Hughes 84e5c3c700 Remove unnecessary lifetimes 2022-02-13 11:54:01 +07:00
Wilfred Hughes 043395a8c5 Add field docstrings for Hunk 2022-02-12 12:31:21 +07:00
Wilfred Hughes 84a2dc2dac Fix missing context on misaligned hunks
Fixes #134
2022-02-12 12:26:00 +07:00
Wilfred Hughes 92cf448081 Add a basic unit test for matched_lines_for_hunk 2022-02-12 12:08:06 +07:00
Wilfred Hughes ef5ae1ad8d Add files from #134 to sample file collection 2022-02-12 11:10:23 +07:00
Wilfred Hughes 46301dbfa5 Don't crash on zero arguments 2022-02-12 11:04:52 +07:00
Wilfred Hughes f2410bb600 Add TODO 2022-02-12 11:03:29 +07:00
Wilfred Hughes 4c391ea1c8 Don't repeatedly calculate the codepoint length when styling 2022-02-11 22:44:27 +07:00
Wilfred Hughes a829511c1a Write split_words as a loop without regular expressions
This function is hot on large textual diffs, taking 16% of total
runtime. This new implementation is several times faster.
2022-02-11 22:33:40 +07:00
Wilfred Hughes ab1071cfda Increase the default value of DFT_NODE_LIMIT
Closes #136
2022-02-11 21:54:24 +07:00
Wilfred Hughes 99269fcbdf Remove obsolete comments 2022-02-11 09:26:58 +07:00
Wilfred Hughes 88a0c10c9d Adding TODO 2022-02-09 00:07:54 +07:00
Wilfred Hughes 9c71d95755 Don't allocate strings in split_words()
It's faster, especially in large textual diffs (3% on my test file).
2022-02-09 00:04:53 +07:00
Wilfred Hughes e561cdf580 Terminate after displaying a single column. 2022-02-08 23:50:15 +07:00
Wilfred Hughes a190d3e591 Add TODO 2022-02-08 23:47:28 +07:00
Wilfred Hughes 76fc3118ac Introduce a byte limit for files that are too big to parse
Default limit is 1 MB.

Fixes #131.
2022-02-08 23:44:50 +07:00
Wilfred Hughes f004510143 Fix incorrect function name
This was causing infinite loops on non-trivial syntax trees.
2022-02-08 23:24:47 +07:00
Wilfred Hughes 30c342913e Handle sliders of two steps
Fixes #132
2022-02-08 09:52:28 +07:00
Wilfred Hughes f4061d87fa Remove parser reference that was removed before release 2022-02-07 23:18:21 +07:00
Wilfred Hughes d9ec560f0d Roll version 2022-02-07 23:14:55 +07:00
Wilfred Hughes 2aaeb0e216 Update crossbeam-utils
We were previously on 0.8.5, which has been yanked.
2022-02-07 23:11:30 +07:00
Wilfred Hughes 32373f27a0 Improve wording in error message 2022-02-07 22:32:36 +07:00
Wilfred Hughes 1fa7f6450b Don't print .. after the last line in a file
Fixes #118
2022-02-07 22:18:49 +07:00
Wilfred Hughes ac1afdd1fc Use `source_dims` variable name consistently 2022-02-07 21:58:38 +07:00
Wilfred Hughes 91566f8ac0 Rename Widths to SourceDimensions and clarify field names 2022-02-07 21:54:04 +07:00
Wilfred Hughes 7291900b56 Remove Hack parser
Waiting on upstream to merge my changes first.
2022-02-07 21:43:37 +07:00