Commit Graph

57 Commits (a11e3081b2be5eee8c8c0ea270a554b6b5d7257f)

Author SHA1 Message Date
Wilfred Hughes a11e3081b2 Roll version 2022-01-06 01:00:48 +07:00
Wilfred Hughes 667a42d57b Downgrade to tree-sitter 0.20.0
0.20.1 has a performance regression, which seems to particularly
affect Elixir parsing:
https://github.com/tree-sitter/tree-sitter/issues/1510
2021-12-29 14:59:12 +07:00
Wilfred Hughes 0cf68ef847 Roll version 2021-12-27 18:28:15 +07:00
Wilfred Hughes 7cc62a3835 Update Cargo.lock for latest dependencies 2021-12-27 18:02:26 +07:00
Wilfred Hughes cb900c3463 Revert to term_size
Git invokes difftastic and then pipes stdout to less, but stderr still
goes to the terminal. term_size queries both stdout and stderr, so it
can still find the terminal width in this situation.

Previously, we'd always use a width of 80 when invoked by git.

terminal_size discussion:
https://github.com/eminence/terminal-size/issues/23

term_size does claim to support Windows, and #71 was not fixed by
changing libraries, so this seems reasonable.
2021-12-19 12:48:52 +07:00
Wilfred Hughes 6f1baae23e Prefer terminal_width crate so we support more platforms
term_width is unmaintained and does not support Windows.

Fixes #71
2021-12-07 23:24:13 +07:00
Wilfred Hughes 4948f59855 Roll version 2021-12-04 23:56:42 +07:00
Wilfred Hughes fa17058f80 Bump libc version 2021-11-24 23:55:16 +07:00
Wilfred Hughes 7d1bf1e5f4 Update to latest tree-sitter 2021-11-24 23:29:41 +07:00
Wilfred Hughes 7fdbaff6fe Update build dependencies 2021-11-19 23:29:17 +07:00
Wilfred Hughes 7f6b8174d5 Update pretty_assertions and use consistently 2021-11-19 23:27:41 +07:00
Wilfred Hughes 9079567695 Update radix-heap
Upstream has had some optimisations and it saves 7% in instructions
executed for slow_before/slow_after.rs according to `perf stat`.
2021-11-19 23:20:37 +07:00
Wilfred Hughes e8f45d91b8 Roll version 2021-11-19 00:49:14 +07:00
Wilfred Hughes 86724658c0 Update radix-heap version
This avoids us depending on an old version of ordered_float, which has
a security advisory: https://rustsec.org/advisories/RUSTSEC-2020-0082

It also slightly reduces the number of dependencies of difftastic.
2021-10-28 00:51:37 +07:00
Wilfred Hughes aa65b20665 Bump dependencies 2021-10-23 15:43:18 +07:00
Wilfred Hughes 44b025fdc5 Roll version 2021-10-18 22:42:17 +07:00
Wilfred Hughes c92007e5b3 Remove criterion
I've found the numbers pretty noisy on my laptop, and `perf stat` is a
nice way of testing full size files for performance.
2021-10-02 22:00:12 +07:00
Wilfred Hughes 08c68de229 Run `cargo upgrade` 2021-09-26 23:09:20 +07:00
Wilfred Hughes 62b030195e Upgrade to latest treesitter 2021-09-26 23:05:09 +07:00
Wilfred Hughes ec37c5bef1 Add full Mercurial extdiff support 2021-09-26 21:23:22 +07:00
Wilfred Hughes 48efe9d7c4 Roll version 2021-09-24 23:40:07 +07:00
Wilfred Hughes 5991efdcc7 Build tree-sitter parsers in parallel 2021-09-22 22:02:07 +07:00
Wilfred Hughes f1c59dcfba Add a basic benchmark for the parser 2021-09-14 22:24:25 +07:00
Wilfred Hughes 31572a83a9 Roll version following release 2021-09-14 00:34:38 +07:00
Wilfred Hughes ea3cb7737a Use a radix heap to speed up Dijkstra implementation 2021-09-12 22:04:15 +07:00
Wilfred Hughes 6222987872 Move to mimalloc
This produces a small (~10% less runtime) improvement on larger files,
as difftastic spends a lot of time allocating.
2021-09-12 20:14:44 +07:00
Wilfred Hughes 0f042fb160 Roll version 2021-09-05 11:23:00 +07:00
Wilfred Hughes 86a330c44e Add debug logging and log stats on shortest path found 2021-09-04 10:46:51 +07:00
Wilfred Hughes cc93976969 Handle SIGPIPE
Based on the sample code in
https://stackoverflow.com/a/65760807/509706

Closes #28
2021-08-29 16:50:05 +07:00
Wilfred Hughes 763b9d2d17 Roll version 2021-08-24 01:07:07 +07:00
Wilfred Hughes 001a36a7e3 Define regexp parsers in code rather than TOML 2021-08-21 19:13:01 +07:00
Wilfred Hughes c80ce0d024 Use vendored tree-sitter-rust 2021-08-15 16:50:43 +07:00
Wilfred Hughes e7a6c3b11e Initial tree-sitter prototype 2021-08-15 16:16:48 +07:00
Wilfred Hughes 3ae0b7df84 Allow RHS to be arbitrarily long in a pager
If stdout is not a TTY, assume it's a pager and don't truncate the
RHS.
2021-08-08 17:35:31 +07:00
Wilfred Hughes 6e321d070a Bump dependencies to latest minor versions 2021-07-28 00:06:58 +07:00
Wilfred Hughes da63704675 Roll version 2021-07-28 00:04:47 +07:00
Wilfred Hughes 6d5704aed9 Only compile the newline regexp once 2021-07-25 12:56:02 +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 b81312e88b Roll version 2021-07-22 00:09:13 +07:00
Wilfred Hughes aa87085b95 Remove unused dependency 2021-07-17 15:35:43 +07:00
Wilfred Hughes 4c79267602 Roll version 2021-07-13 23:27:17 +07:00
Wilfred Hughes 9e821956a5 Roll version 2021-07-07 22:25:03 +07:00
Wilfred Hughes 64bfc73a6c Roll version for next release 2021-07-04 11:42:59 +07:00
Wilfred Hughes cf2b5d762a Bump version for initial release 2021-07-03 23:09:11 +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 3b033c1438 Embed syntax.toml in binary 2021-06-20 16:32:22 +07:00
Wilfred Hughes 48c31ec0ec Read a language block from syntax.toml 2021-06-01 23:57:08 +07:00
Wilfred Hughes cb75585679 Basic .toml language description 2021-05-31 23:10:49 +07:00
Wilfred Hughes ca1aca1021 Use arena allocation for Syntax 2021-05-23 17:39:54 +07:00
Wilfred Hughes f13ee634ad Bump dependencies 2021-03-07 13:02:31 +07:00