@mcrocker @ctietze Emacs has had that for 40 years, M-x diff-buffer-with-file ... even back in the days of ITS and Lisp Machines you had similar functions.
As for diff output, you can change the diff program to something that works better depending on the situation. Unified diff format is though generally easy to read, and not just for sharing patches.