runtime(jj): Support diffs in jj syntax

related: #16364

Signed-off-by: Gregory Anders <greg@gpanders.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/runtime/syntax/jj.vim b/runtime/syntax/jj.vim
index a2911a0..0b2d29e 100644
--- a/runtime/syntax/jj.vim
+++ b/runtime/syntax/jj.vim
@@ -6,7 +6,6 @@
 if exists('b:current_syntax')
   finish
 endif
-let b:current_syntax = 'jj'
 
 syn match jjAdded "A .*" contained
 syn match jjRemoved "D .*" contained
@@ -14,7 +13,12 @@
 
 syn region jjComment start="^JJ: " end="$" contains=jjAdded,jjRemoved,jjChanged
 
+syn include @jjCommitDiff syntax/diff.vim
+syn region jjCommitDiff start=/\%(^diff --\%(git\|cc\|combined\) \)\@=/ end=/^\%(diff --\|$\|@@\@!\|[^[:alnum:]\ +-]\S\@!\)\@=/ fold contains=@jjCommitDiff
+
 hi def link jjComment Comment
 hi def link jjAdded Added
 hi def link jjRemoved Removed
 hi def link jjChanged Changed
+
+let b:current_syntax = 'jj'