miniblog.

It is really impressive how quickly different distros are shipping new versions of difftastic. Less than a day! AUR has a bleeding-edge git package whose version tag is always 1. It's a shame, I would like to be able to download v1 too :P
Photo
Difftastic 0.27 is out! In this release: * Added support for Kotlin and TOML * Updated to latest tree-sitter parsers, including TS union types, C++ fold expressions and Java modules * Improved the scaling of diff algorithm on large expressions
Photo Photo
I've finally added an incremental search option to deadgrep! https://github.com/Wilfred/deadgrep/blob/master/CHANGELOG.md#v012 I also learnt that incremental tools don't do anything clever with the minibuffer: they just call read-char in a loop.
The Rust reference describes `?Sized` as "questionably sized". I feel vaguely judged :) https://doc.rust-lang.org/reference/tokens.html#punctuation
tree-sitter is adding a notion of reserved keywords, as it previously treated keywords as contextual: https://github.com/tree-sitter/tree-sitter/pull/1635 Includes a fun example of using `if` as a name in JS!
One really nice aspect of fzf completion for ctrl-r is the ability to view multiple candidates at once. It's easier to only show one option to the user, but it's less useful. (VS Code's Command Palette and modern Emacs minibuffer packages also have this advantage.)
Photo
The best interface is no interface: https://web.archive.org/web/20120831083217/http://www.cooper.com/journal/2012/08/the-best-interface-is-no-interface.html/ The author's critique of needing to find an app to accomplish a task is just as relevant today.
I'm writing some docs in markdown, and I'm really glad I can use arbitrary HTML when I need to. It's so handy when you hit the limits of markdown (e.g. tables, named anchors, custom styling). It's dangerous when you have untrusted input, but I'm beginning to appreciate it.
I'm really impressed with fzf, the terminal fuzzy finder. It makes ctrl-r way more powerful, and it even has a ctrl-t to pass file arguments! It uses existing terminal history rather than 'enable and now you will have history', which is nice too. https://github.com/junegunn/fzf
Today I learnt that GitHub Release download counts are publicly available! This is a really helpful way of seeing what proportion of users are on each platform.
Photo
The next version of difftastic will support Kotlin too!
Photo
I'm fascinated to learn that some distros are including the whole HTML manual in the package! It seems like a nice thing for users, but I was initially surprised to see JS in the package. https://archlinux.org/packages/community/x86_64/difftastic/
I've been experimenting with supporting the unified diff format in difftastic. This is a single column format ('inline') with @@ markers. What do you think? This format doesn't scale well to larger changes, but it's super familiar and works with other tools.
Photo Photo Photo Photo
Difftastic is the first time I've ever shipped a binary on Windows. It was surprisingly straightforward. Rust has good Windows support, and GitHub Actions means I don't need to set up a Windows toolchain locally.
Interested in trying difftastic, but don't want to compile it yourself? I now have GitHub releases with prebuilt binaries for Linux, macOS and Windows for you to play with! https://github.com/Wilfred/difftastic/releases
Showing lines of context is a remarkably hard problem for a syntactic diff. Line 23 on the right is new, but lines 24 and 25 also map to the same line on the left! Initially I thought this was a bug. It's impossible to show exactly N context lines whilst preserving alignment.
Photo
Difftastic 0.26 is out! * Added Gleam, YAML and Zig, improved Clojure * Language detection can now be overridden * Better display, better highlighting, and some better diff heuristics :)
Photo Photo Photo
Got a bug report on difftastic saying it crashes with an error: "should be impossible: expected XYZ". I am very glad I phrased my assertion as *should*!
I'm hesitant to write "written in $LANG" on my project READMEs. I'd rather get users excited about the features than the implementation. Maybe it makes sense if you're primarily seeking contributors?
Bash's list of behaviours that aren't POSIX-compliant is longer than I expected: https://www.gnu.org/software/bash/manual/html_node/Bash-POSIX-Mode.html I used fish for a while and liked it, but POSIX-ish shells work with everything. These days I use a heavily customised zsh.
Showing 721-740 of 7,506 posts