Wilfred Hughes
c15ba1e75a
New screenshots and add screencast demo
2022-03-26 15:46:41 +07:00
Wilfred Hughes
1a8d7d06a7
Store previous_sibling in SyntaxInfo
2022-03-24 21:57:13 +07:00
Wilfred Hughes
59ee169ddc
Remove leftover debug logging
2022-03-24 21:27:27 +07:00
Wilfred Hughes
807be70e31
Factor out a helper function for splitting unchanged singleton lists
2022-03-24 21:20:46 +07:00
Wilfred Hughes
870806c017
Log the number of toplevel nodes too
...
This is computationally cheaper than calculating depth, and it gives a
good hint regarding depth (fewer toplevel nodes: depth is probably
deeper).
Fixes #159
2022-03-23 22:59:39 +07:00
Wilfred Hughes
2b36a755f0
Ensure that blank lines in multiline strings are shown as changed
...
Fixes #121
2022-03-23 22:47:17 +07:00
Wilfred Hughes
886c0964ff
Treat shebangs in dart as atoms
...
E.g. given:
#! /usr/bin/env dshell
tree-sitter AST doesn't have positions for the `/usr/bin/env dshell`
part, so treat it all as an atom.
2022-03-23 22:13:45 +07:00
Wilfred Hughes
f15ec6d637
Lower the default node limit for tree diffing
...
Fixes #176
2022-03-22 21:15:54 +07:00
Wilfred Hughes
4647112e93
Define a highlighting file for Clojure
...
This isn't provided upstream, and the parse tree doesn't have a lot of
information, but we can at least handle string literals and keywords.
2022-03-22 21:08:46 +07:00
Wilfred Hughes
c9c3582871
Print incrementally when diffing directories
...
Fixes #170
2022-03-22 09:51:23 +07:00
Wilfred Hughes
503c8b26ec
Fix tests broken in 9e32e2e08
...
The changes in context.rs were intentional, the changes in
line_parser.rs were a result of bad stash merging. Revert the
line_parser.rs changes.
2022-03-21 23:55:32 +07:00
Wilfred Hughes
fa4a662645
Fix typo and clarify VCS
2022-03-20 22:32:49 +07:00
Wilfred Hughes
9e32e2e08e
Ensure matched lines includes blanks at the ends of the file
...
Fixes #163
2022-03-20 22:31:32 +07:00
Wilfred Hughes
905fc9ec8b
Ignore the trailing newline in source files
...
This should have produced a change in output, but it's currently
ignored due to #163 .
2022-03-20 22:26:44 +07:00
Wilfred Hughes
c7795111f5
cargo fmt
2022-03-20 21:30:17 +07:00
Wilfred Hughes
68f3ab2b92
Don't consider lines with whitespace to have missing syntax
...
Fixes #171
2022-03-20 19:49:13 +07:00
Wilfred Hughes
4563648a9f
Clarify ChangeKind helper method name
2022-03-20 15:17:32 +07:00
Wilfred Hughes
12ee2c7673
Warn if both arguments are the same path
...
Fixes #164
2022-03-20 15:14:14 +07:00
Wilfred Hughes
2fd48800c7
Update changelog for previous commit
2022-03-20 15:06:13 +07:00
Wilfred Hughes
a18dce036a
Handle novel MatchedPos values that have unchanged values on the same line
...
Fixes #169
2022-03-20 15:03:22 +07:00
Wilfred Hughes
e2d1a80235
Merge branch 'osa1-dart'
...
Closes #166
2022-03-20 11:41:10 +07:00
Wilfred Hughes
049a213a82
Add dart-src symlink
2022-03-20 11:37:05 +07:00
Wilfred Hughes
29050f00ce
Configure language and fix highlighting for dart
2022-03-20 11:36:12 +07:00
Wilfred Hughes
b60ab25850
Add 'vendor/tree-sitter-dart/' from commit '6a25376685d1d47968c2cef06d4db8d84a70025e'
...
git-subtree-dir: vendor/tree-sitter-dart
git-subtree-mainline: 0c53a6bcf8
git-subtree-split: 6a25376685
2022-03-20 11:14:48 +07:00
Wilfred Hughes
0c53a6bcf8
Remove copied files
2022-03-20 11:14:33 +07:00
Ömer Sinan Ağacan
fb73c84960
Add a Dart sample
2022-03-20 11:07:39 +07:00
Ömer Sinan Ağacan
0b7e00e517
Copy tree-sitter-dart files
2022-03-20 11:07:39 +07:00
Ömer Sinan Ağacan
1e77e540a9
Remove submodule
2022-03-20 11:07:39 +07:00
Ömer Sinan Ağacan
a2488f984c
Add support for Dart
2022-03-20 11:07:32 +07:00
Ömer Sinan Ağacan
b8c7ce2398
Add tree-sitter-dart repo
2022-03-20 11:06:53 +07:00
Wilfred Hughes
bb1f1e9ad7
Prefer Iterator::next() over incrementing an index
2022-03-20 11:00:56 +07:00
Wilfred Hughes
3dc193ed0c
Tweak badge styles
2022-03-19 12:44:42 +07:00
Wilfred Hughes
9435798c9c
Next release will be 0.24
2022-03-19 10:27:04 +07:00
Wilfred Hughes
06ffa0267a
Next release will be a patch release with a single crash fix
2022-03-19 10:24:30 +07:00
Wilfred Hughes
d06f357c93
Fix crash when outer delimiters are discarded when skipping unchanged
...
If we skip some nodes inside a list whose delimiters are unchanged, we
need to mark the outer list as unchanged.
Split ChangeState::Unchanged into UnchangedNode and UnchangedDelimiter
to make this clearer, and add a test.
2022-03-18 16:00:05 +07:00
Wilfred Hughes
6d3b1ffbdd
Update test names to reflect current function names
2022-03-18 15:35:04 +07:00
Wilfred Hughes
038463d0e4
Add Debug for ChangeState to help debugging
2022-03-18 13:26:39 +07:00
Wilfred Hughes
0e04e199e4
Remove NovelTree edges from graph
...
This is a small speedup (up to 6% reduction in instructions) and makes
the graph logic easier to reason about.
In principle this can change dififng results, but all of the sample
files are unaffected.
This logic was intended to solve the problem of a small number of
nodes being matched up in a very large expression. We can do this as
cleanup after diffing, which should be faster and more effective
(see #162 ).
2022-03-18 12:31:22 +07:00
Wilfred Hughes
0379b49109
Clarify non-goals
2022-03-17 22:41:47 +07:00
Wilfred Hughes
b5187d98d0
Roll version
2022-03-17 22:22:42 +07:00
Wilfred Hughes
e38d14a144
Prefer aligning blank lines in display
...
After we've aligned lines based on diff results, we have intermediate
lines that we need to align somehow. Previously, we'd just take them
in order, aligning the first on the LHS with the first on the RHS and
so on.
If the intermediate lines start or end with a sequence of blank lines,
prefer aligning the blank lines. If we have both, arbitrarily choose
the ending blank lines.
This has produced better results in many of the sample files, although
in the case of slow_before.rs we've just changed from a leading blank
line alignment to a trailing blank line alignment.
2022-03-17 22:16:45 +07:00
Wilfred Hughes
a51b81e86d
cargo fmt
2022-03-17 20:45:09 +07:00
Wilfred Hughes
eb59e15cd8
Silence some of the noisier clippy lints
2022-03-17 20:13:27 +07:00
Wilfred Hughes
2ce09e0a56
Move functions only used in context calculations to context.rs
2022-03-17 09:32:34 +07:00
Wilfred Hughes
6d58247465
Preserve the outer delimiter when shrinking
...
Previously, we'd always discard the outer delimiter if it matched on
both sides. This prevented the tree diff finding optimal diffs.
Fixes #124
2022-03-16 23:38:05 +07:00
Wilfred Hughes
f4f12003cb
Fix minor clippy lints
2022-03-16 22:42:31 +07:00
Wilfred Hughes
d709aa98b5
Fix typo
2022-03-15 21:52:09 +07:00
Wilfred Hughes
83eea58fbc
Display cost when printing routes
2022-03-15 21:33:01 +07:00
Wilfred Hughes
02976415dc
Remove unnecessary braces
2022-03-15 21:19:05 +07:00
Wilfred Hughes
40d3ccd06c
Fix confusion between byte length and codepoint length in styling
...
We should split lines based on their codepoint length, so all our
lengths are on codepoint boundaries. We can then safely index by byte position.
All the positions are measured in bytes, not code points. Tweak
function names to make this explicit.
Fixes #149
2022-03-15 09:50:13 +07:00