git diff --word-diff に問題があります。問題は、diff が改行のないファイル (1 行のファイル) を取得すると、行ごとに異なることです。そして、私はそれを単語ごとに区別したいと思います。
改行なしでファイルを比較すると、次のようになります。
git diff -a --word-diff=plain file1 file2
diff --git a/file1 b/file2
index 3526254..0515a63 100644
--- a/file1
+++ b/file2
@@ -1 +1 @@
[- a a a a a a a a a a-]
No newline at end of file
{+a a a a a ab a a a a+}
ファイルの最後に改行を追加すると、すべてが期待どおりに機能します。
git diff -a --word-diff=plain file1 file2
diff --git a/file1 b/file2
index 1756d83..1ec45b9 100644
--- a/file1
+++ b/file2
@@ -1,2 +1,2 @@
a a a a a [-a -]{+ab +}a a a a