Skip to content

Commit 1351537

Browse files
authored
Merge pull request #10171 from gitbutlerapp/copilot/add-syntax-highlighting-kotlin-protobuf
Add syntax highlighting for Kotlin (.kt) and Protocol Buffers (.proto) in diff view
2 parents 2d2c1f7 + d9838be commit 1351537

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

packages/shared/src/lib/codeHighlight.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,12 @@ import { wast } from '@codemirror/lang-wast';
1919
import { xml } from '@codemirror/lang-xml';
2020
import { yaml } from '@codemirror/lang-yaml';
2121
import { HighlightStyle, StreamLanguage } from '@codemirror/language';
22+
import { kotlin } from '@codemirror/legacy-modes/mode/clike';
2223
import { commonLisp } from '@codemirror/legacy-modes/mode/commonlisp';
2324
import { dockerFile } from '@codemirror/legacy-modes/mode/dockerfile';
2425
import { jinja2 } from '@codemirror/legacy-modes/mode/jinja2';
2526
import { lua } from '@codemirror/legacy-modes/mode/lua';
27+
import { protobuf } from '@codemirror/legacy-modes/mode/protobuf';
2628
import { ruby } from '@codemirror/legacy-modes/mode/ruby';
2729
import { shell } from '@codemirror/legacy-modes/mode/shell';
2830
import { swift } from '@codemirror/legacy-modes/mode/swift';
@@ -142,8 +144,9 @@ export function parserFromFilename(filename: string): Parser | null {
142144
case 'java':
143145
return java().language.parser;
144146

145-
// case 'text/x-kotlin':
146-
// return new LanguageSupport(await CodeMirror.kotlin());
147+
case 'kt':
148+
case 'kts':
149+
return StreamLanguage.define(kotlin).parser;
147150

148151
case 'json':
149152
return json().language.parser;
@@ -163,6 +166,9 @@ export function parserFromFilename(filename: string): Parser | null {
163166
case 'python':
164167
return python().language.parser;
165168

169+
case 'proto':
170+
return StreamLanguage.define(protobuf).parser;
171+
166172
case 'md':
167173
return markdown().language.parser;
168174

packages/ui/src/lib/utils/diffParsing.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ import { vue } from '@codemirror/lang-vue';
1313
import { wast } from '@codemirror/lang-wast';
1414
import { xml } from '@codemirror/lang-xml';
1515
import { HighlightStyle, StreamLanguage } from '@codemirror/language';
16+
import { kotlin } from '@codemirror/legacy-modes/mode/clike';
17+
import { protobuf } from '@codemirror/legacy-modes/mode/protobuf';
1618
import { ruby } from '@codemirror/legacy-modes/mode/ruby';
1719
import { NodeType, Tree, Parser } from '@lezer/common';
1820
import { tags, highlightTree } from '@lezer/highlight';
@@ -264,8 +266,9 @@ export function parserFromExtension(extension: string): Parser | undefined {
264266
case 'java':
265267
return java().language.parser;
266268

267-
// case 'text/x-kotlin':
268-
// return new LanguageSupport(await CodeMirror.kotlin());
269+
case 'kt':
270+
case 'kts':
271+
return StreamLanguage.define(kotlin).parser;
269272

270273
case 'json':
271274
return json().language.parser;
@@ -277,6 +280,9 @@ export function parserFromExtension(extension: string): Parser | undefined {
277280
case 'python':
278281
return python().language.parser;
279282

283+
case 'proto':
284+
return StreamLanguage.define(protobuf).parser;
285+
280286
case 'md':
281287
return markdown().language.parser;
282288

0 commit comments

Comments
 (0)