Commit Graph

50 Commits (e36a2e8c9639e7ca16cea8f2e2fec2cf79c6c403)

Author SHA1 Message Date
Wilfred Hughes e36a2e8c96 Don't crash on binary files 2021-07-25 12:50:42 +07:00
Wilfred Hughes c8481775e2 Remove --context CLI argument 2021-07-25 12:34:50 +07:00
Wilfred Hughes 04214ef1ef Ignore indentation changes on multiline comments 2021-07-25 12:27:24 +07:00
Wilfred Hughes 3ebbf268fd Improve alignment when LHS and RHS have different numbers of lines 2021-07-24 18:01:12 +07:00
Wilfred Hughes 928584676a Only highlight individual comment words for comments that are similar 2021-07-24 17:01:30 +07:00
Wilfred Hughes 3f8e41d862 Parse @ in elisp 2021-07-24 16:50:53 +07:00
Wilfred Hughes 45af6b4534 Parse < and > as symbols in elisp 2021-07-24 16:45:06 +07:00
Wilfred Hughes 2da5181ffb Prefer replacing comments over novel atoms
This was broken in 4c33f34.
2021-07-24 16:36:36 +07:00
Wilfred Hughes 6d7e155cc6 Remove unused CLI parameter 2021-07-24 16:27:33 +07:00
Wilfred Hughes b81312e88b Roll version 2021-07-22 00:09:13 +07:00
Wilfred Hughes 5d2c14a3f9 Entering a list should set the prev_novel state to the open delimiter 2021-07-22 00:07:09 +07:00
Wilfred Hughes 61446c916a Prefer marking large subtrees as novel rather than largely novel
This solves the "replace function A with completely different function
B" problem, even if they start with the same function keyword.
2021-07-21 01:05:01 +07:00
Wilfred Hughes c48e8e2977 Improve JS and JSON parsing 2021-07-20 01:18:39 +07:00
Wilfred Hughes 7bd8afc439 Improve handling of = and & in lisps 2021-07-20 01:09:29 +07:00
Wilfred Hughes aa28b26f48 Basic support for non-UTF8 source files 2021-07-20 00:46:12 +07:00
Wilfred Hughes 2d9efe15a0 Fix another crash on empty files
Git history with file additions/removals should now work.
2021-07-20 00:22:01 +07:00
Wilfred Hughes 6bec8b7e2c Don't crash on files without an extension 2021-07-20 00:10:58 +07:00
Wilfred Hughes 49ec9d68cc Improve OCaml parsing for := and !
Fixes #20
2021-07-19 23:04:03 +07:00
Wilfred Hughes 6fb01cf7d3 Lex string literals with escaped delimiters 2021-07-18 23:42:36 +07:00
Wilfred Hughes ad81a86419 + is a legal symbol constituent in elisp 2021-07-18 23:40:46 +07:00
Wilfred Hughes 88b0ec2283 & is legal in elisp
It's used for variadic functions.
2021-07-18 23:25:56 +07:00
Wilfred Hughes 75839a1185 Support # and . in lisps
Elisp uses # for sharp-quoting, and some Schemes use # for vector
literals.

. is used for dotted pair notation.
2021-07-18 23:18:55 +07:00
Wilfred Hughes 28d5e51911 Fix crash on multibyte characters
Previously parsing would proceed byte at a time, which would crash if
the source contained multibyte characters. Instead, try all the
regular expression patterns, and jump to the next nearest match.
2021-07-18 22:34:52 +07:00
Wilfred Hughes 5f4ab7c292 Support using difftastic with built-in git commands 2021-07-18 15:01:32 +07:00
Wilfred Hughes abddca0b46 Dijkstra visits nodes in distance order, so we only need predecessors
The first time we see a node, we've found the shortest path to it. Add
it to the predecessors then, and don't visit it again.
2021-07-17 17:53:59 +07:00
Wilfred Hughes 1c9ece441a Improve --help 2021-07-17 14:18:40 +07:00
Wilfred Hughes cdc70dd784 Add ReplaceComment edge and display a word diff between the comments 2021-07-17 13:55:41 +07:00
Wilfred Hughes 00fcd4652a Recognise # and <- as OCaml punctuation
Fixes #18
2021-07-15 23:54:53 +07:00
Wilfred Hughes a2e36cac46 Add more two-character lexems to Rust parser 2021-07-13 23:36:52 +07:00
Wilfred Hughes 4c79267602 Roll version 2021-07-13 23:27:17 +07:00
Wilfred Hughes 8b382e4356 Improved OCaml handling
Fixes #17
Fixes #15
2021-07-13 22:52:13 +07:00
Wilfred Hughes 74c2b8e901 Clarify slider and performance status 2021-07-13 22:31:13 +07:00
Wilfred Hughes fbb2dffd4a Store an ID on Syntax values and use it for vertex equality 2021-07-13 21:49:40 +07:00
Wilfred Hughes b2d9035774 Consider nesting depth when comparing nodes 2021-07-10 17:42:02 +07:00
Wilfred Hughes 5c644baf7c Treat .. as a single atom in Rust 2021-07-10 17:13:07 +07:00
Wilfred Hughes 4cf2a24997 Fixed crash on multibyte characters that include '\n'
Fixes #13
2021-07-09 23:37:04 +07:00
Wilfred Hughes bbc77b8cbc Organise changelog by area 2021-07-09 23:35:53 +07:00
Wilfred Hughes ce35a5cc3a Support $( ... ) and $foo in Rust
Closes #14
2021-07-09 22:54:11 +07:00
Wilfred Hughes 1dc6ab3977 Fix crash when diff touches first line 2021-07-08 01:10:37 +07:00
Wilfred Hughes 094133fe10 Ensure that we display all context lines, even if matched pairs are unordered 2021-07-07 23:45:22 +07:00
Wilfred Hughes 9e821956a5 Roll version 2021-07-07 22:25:03 +07:00
Wilfred Hughes 6f87140703 Don't crash if file is unchanged
Fixes #4
2021-07-07 22:19:46 +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 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 76ef7c510c Teach syntax about Rust lifetimes 2021-07-04 12:59:17 +07:00
Wilfred Hughes 64bfc73a6c Roll version for next release 2021-07-04 11:42:59 +07:00
Wilfred Hughes 9cd63c972d Adding a changelog 2021-07-04 11:40:31 +07:00