Is your feature request related to a problem? Please describe.
As a part of my Embedded and Linux development workflow - I work a lot with binary blobs, encoded files or in general file formats that need conversion to a human-readable text/source formats before a diff can be done between such files. It is a frustrating experience to create temp files for each such file before starting a diff. It is a much easier and faster experience to convert them on-the-fly and pass this to the diff program. Precisely what the "process substitution" feature of the shell helps with:
For example:
diff <(dtc -I dtb -O dts system.dtb) <(dtc -I dtb -O dts system_ext.dtb)
or for purely demonstration purpose:
diff <(ls -la /tmp) <(ls -f /tmp)
diff or nvim -d above will correctly produce a diff between LHS and RHS as bash (or zsh) will replace LHS/RHS with a special file (like /dev/fd/63) that behaves like the read end of a named pipe.
Doing the same with kitten diff however, fails:
➜ kitten diff <(ls -la /tmp) <(ls -f /tmp)
Error: Failed to diff /dev/fd/63 vs. /dev/fd/62 with errors:
I've started using kitten diff in my workflow as it is fast and works very well for "quick" diff look.
It would be VERY useful to switch to it completely in my workflow, if kitten diff can be enhanced to make it work with files created as a result of process substitution.
Describe the solution you'd like
If diff kitten can be enhanced to directly work with the special files that shell creates, that would be ideal.
Describe alternatives you've considered
Mostly just been using diff from binutils and nvim -d, but none of them match the capabilities and quickness of kitten diff.
Additional context
N/A
Is your feature request related to a problem? Please describe.
As a part of my Embedded and Linux development workflow - I work a lot with binary blobs, encoded files or in general file formats that need conversion to a human-readable text/source formats before a diff can be done between such files. It is a frustrating experience to create temp files for each such file before starting a diff. It is a much easier and faster experience to convert them on-the-fly and pass this to the diff program. Precisely what the "process substitution" feature of the shell helps with:
For example:
or for purely demonstration purpose:
diffornvim -dabove will correctly produce a diff between LHS and RHS as bash (or zsh) will replace LHS/RHS with a special file (like /dev/fd/63) that behaves like the read end of a named pipe.Doing the same with
kitten diffhowever, fails:I've started using kitten diff in my workflow as it is fast and works very well for "quick" diff look.
It would be VERY useful to switch to it completely in my workflow, if
kitten diffcan be enhanced to make it work with files created as a result of process substitution.Describe the solution you'd like
If diff kitten can be enhanced to directly work with the special files that shell creates, that would be ideal.
Describe alternatives you've considered
Mostly just been using
difffrom binutils andnvim -d, but none of them match the capabilities and quickness ofkitten diff.Additional context
N/A