Difftastic now handles tab characters precisely! This sounds like a small thing, but it's crucial when parsing Makefile syntax.
Makefiles look way better now.
(Technically tabs are also syntactically significant inside string literals, and that case is fixed too.)
miniblog.
Related Posts
I've released difftastic 0.70! In this release:
* Added Dockerfile and fish shell support
* Improved Dart, Emacs Lisp, Erlang, Java, OCaml, PHP,
Protocol Buffers and TOML.
* A bunch of display and performance fixes.
I carefully document `cargo install --locked` for difftastic users, I carefully use `--locked` for CI, and I've just realised that all my release builds totally ignore it! Oops.
Anyone using my prebuilt binaries have been getting different Unicode width calculations in display.
I had a third attempt at porting difftastic from Dijkstra to A*, and I've eventually concluded that A* just isn't worth it for the implementation complexity.
I had fun writing it up though, and I've even attempted ASCII art for building intuitions:

