Unified and context diff syntax highlighting (#26)

This commit is contained in:
Matouš Kučera
2024-11-27 00:29:27 +01:00
committed by GitHub
parent 60c15956b8
commit 8936a95ef9
5 changed files with 105 additions and 50 deletions

View File

@@ -0,0 +1,30 @@
import { languages } from 'monaco-editor';
export const diffLanguage: languages.IMonarchLanguage = {
defaultToken: '',
tokenizer: {
root: [
// Meta lines (e.g., @@ -1,2 +3,4 @@)
[/@@@ +-\d+,\d+ +\+\d+,\d+ +@@@/, 'meta'],
[/^\*\*\* +\d+,\d+ +\*\*\*\*$/, 'meta'],
[/^--- +\d+,\d+ +----$/, 'meta'],
// Comments
[/Index: .*/, 'comment'],
[/^index.*/, 'comment'],
[/={3,}/, 'comment'],
[/^-{3}.*/, 'comment'],
[/^\*{3} .*/, 'comment'],
[/^\+{3}.*/, 'comment'],
[/^diff --git.*/, 'comment'],
[/^\*{15}$/, 'comment'],
// Additions
[/^\+.*/, 'addition'],
[/^!.*/, 'addition'],
// Deletions
[/^-.*/, 'deletion'],
],
},
};