Commit Graph

465 Commits (6f871407030d3167952b8a332da5ed890d9f10c8)
 

Author SHA1 Message Date
Wilfred Hughes 6f87140703 Don't crash if file is unchanged
Fixes #4
2021-07-07 22:19:46 +07:00
Wilfred Hughes 3e199ed645 Treat && || ++ -- and * as single tokens in JS 2021-07-07 22:13:23 +07:00
Wilfred Hughes c43e724caf Ensure :: is treated as a single token in Rust 2021-07-07 22:02:20 +07:00
Wilfred Hughes da8a4c1ee1 Line up visible lines and include gaps if necessary 2021-07-07 22:01:19 +07:00
Wilfred Hughes 5463c120f4 Better punctuation parsing for JS and OCaml
Closes #7
2021-07-07 19:53:45 +07:00
Wilfred Hughes ccaca6f6a6 Rust: Consider , as separate punctuation
Closes #8
2021-07-07 19:51:49 +07:00
Wilfred Hughes e6df1dfaa2 Rust parser: try to distinguish characters from lifetimes 2021-07-07 19:50:18 +07:00
Wilfred Hughes be94cd97ee Handle . and ? as Rust punctuation
Fixes #6
2021-07-06 22:59:19 +07:00
Wilfred Hughes 99f357f780 Make function public and prefer references to hashmap of matched lines 2021-07-05 23:08:14 +07:00
Wilfred Hughes 45efe5245a Remove completed todo 2021-07-05 22:43:14 +07:00
Wilfred Hughes 09a5b6e147 Add a util for aligning lines between sides 2021-07-05 22:36:57 +07:00
Wilfred Hughes 8a5e20166c Add a util for finding matching lines from paired Syntax values 2021-07-05 21:41:47 +07:00
Wilfred Hughes 959c65ff75 Split out a helper function for rendering a single LineGroup 2021-07-05 15:17:28 +07:00
Wilfred Hughes eb75952b94 Simplify pattern match for edge costs 2021-07-05 15:08:24 +07:00
Wilfred Hughes 3dde18e66f Ignore data from perf when profiling 2021-07-05 13:17:05 +07:00
Wilfred Hughes 638cf1245a Add JSON to sample files 2021-07-05 13:13:47 +07:00
Wilfred Hughes 593ac16de4 Adding TODO for memory usage 2021-07-05 00:49:42 +07:00
Wilfred Hughes 21b2932dd7 Don't track 'same line' on edges
This needs to be on vertices.
2021-07-04 22:42:54 +07:00
Wilfred Hughes bb38257605 Don't treat the start node as having an edge to itself 2021-07-04 22:40:31 +07:00
Wilfred Hughes 483fe8ca51 Ensure we always find the shortest route
Previously we would ignore shorter routes if we'd already found a
route to the node.
2021-07-04 22:38:17 +07:00
Wilfred Hughes d129431d7f Print position on atoms 2021-07-04 22:27:38 +07:00
Wilfred Hughes f8002d60fa Don't wrap top level syntax nodes in a list
This makes it easier to trace execution, because we're doing
marginally less work.
2021-07-04 18:38:55 +07:00
Wilfred Hughes 885c8dd235 Prefer novel atoms on the same line 2021-07-04 13:14:55 +07:00
Wilfred Hughes 0d4d9d99a0 Remove unused function 2021-07-04 13:04:46 +07:00
Wilfred Hughes 3562f2fb8f Inline unnecessary function 2021-07-04 13:03:16 +07:00
Wilfred Hughes 76ef7c510c Teach syntax about Rust lifetimes 2021-07-04 12:59:17 +07:00
Wilfred Hughes 79938c53dc Rename hash field to reflect what values it hashes 2021-07-04 12:39:38 +07:00
Wilfred Hughes f7aa0180f2 Prefer 'content' terminology in Syntax struct 2021-07-04 12:36:47 +07:00
Wilfred Hughes 8c763a6947 Add failing test for preferring atoms on the same line 2021-07-04 12:06:16 +07:00
Wilfred Hughes c9ad3bd073 Fix typo 2021-07-04 11:49:04 +07:00
Wilfred Hughes 64bfc73a6c Roll version for next release 2021-07-04 11:42:59 +07:00
Wilfred Hughes d01f04d5b7 Add LICENSE file 2021-07-04 11:41:39 +07:00
Wilfred Hughes 9cd63c972d Adding a changelog 2021-07-04 11:40:31 +07:00
Wilfred Hughes 147ab76414 Keep all sample files in sample_files/ 2021-07-04 11:10:16 +07:00
Wilfred Hughes 78483d7480 More package metadata 2021-07-03 23:14:22 +07:00
Wilfred Hughes cf2b5d762a Bump version for initial release 2021-07-03 23:09:11 +07:00
Wilfred Hughes ff179d311b Improve header display
Use a newline to help diffing multiple files, use yellow and bold to
match GNU diff, make header more concise.
2021-07-03 23:04:24 +07:00
Wilfred Hughes 8012ab9f75 Improve header to make filename prominent and show recognised language 2021-07-03 22:53:59 +07:00
Wilfred Hughes 4afb6b2f2e Print the name of the file being diffed 2021-07-03 22:44:28 +07:00
Wilfred Hughes 3875ae7821 Unconditionally store the cache value 2021-07-03 21:21:49 +07:00
Wilfred Hughes c3cbb9c804 Make clippy happier 2021-07-03 16:04:21 +07:00
Wilfred Hughes 3c0662f31b cargo fmt 2021-07-03 15:57:37 +07:00
Wilfred Hughes 451e58a31a Rename Node to Syntax 2021-07-03 15:55:48 +07:00
Wilfred Hughes 680bc13a6c Rename tree_diff to syntax 2021-07-03 15:47:18 +07:00
Wilfred Hughes a38b20d5a6 Prefer rustc-hash for faster hashing
This is hot when profiling.
2021-07-03 15:42:23 +07:00
Wilfred Hughes 4790885203 Don't debug format nodes unless something has gone wrong 2021-07-03 15:31:58 +07:00
Wilfred Hughes 0d2c95551e Cache the hash value for atoms too 2021-07-03 15:31:13 +07:00
Wilfred Hughes 76db335282 Cache the hash value of syntax lists 2021-07-03 15:04:35 +07:00
Wilfred Hughes 6caeba31a6 Ensure that we consider nodes after empty lists with a change delimiter 2021-07-03 13:11:03 +07:00
Wilfred Hughes e9e4fad0f6 Use default Node equality and hashing where possible 2021-07-03 12:06:34 +07:00