@@ -20,6 +20,8 @@ import { LineRange } from 'vs/workbench/contrib/mergeEditor/browser/model/lineRa
20
20
import { TextModelDiffChangeReason , TextModelDiffs , TextModelDiffState } from 'vs/workbench/contrib/mergeEditor/browser/model/textModelDiffs' ;
21
21
import { concatArrays , leftJoin , elementAtOrUndefined } from 'vs/workbench/contrib/mergeEditor/browser/utils' ;
22
22
import { ModifiedBaseRange , ModifiedBaseRangeState } from './modifiedBaseRange' ;
23
+ import { IModelService } from 'vs/editor/common/services/model' ;
24
+ import { ILanguageService } from 'vs/editor/common/languages/language' ;
23
25
24
26
export const enum MergeEditorModelState {
25
27
initializing = 1 ,
@@ -134,7 +136,9 @@ export class MergeEditorModel extends EditorModel {
134
136
readonly input2Detail : string | undefined ,
135
137
readonly input2Description : string | undefined ,
136
138
readonly result : ITextModel ,
137
- @IEditorWorkerService private readonly editorWorkerService : IEditorWorkerService
139
+ @IEditorWorkerService private readonly editorWorkerService : IEditorWorkerService ,
140
+ @IModelService private readonly modelService : IModelService ,
141
+ @ILanguageService private readonly languageService : ILanguageService ,
138
142
) {
139
143
super ( ) ;
140
144
@@ -329,6 +333,10 @@ export class MergeEditorModel extends EditorModel {
329
333
public setHandled ( baseRange : ModifiedBaseRange , handled : boolean , tx : ITransaction ) : void {
330
334
this . modifiedBaseRangeHandlingStateStores . get ( ) . get ( baseRange ) ! . set ( handled , tx ) ;
331
335
}
336
+
337
+ public setLanguageId ( languageId : string ) : void {
338
+ this . modelService . setMode ( this . result , this . languageService . createById ( languageId ) ) ;
339
+ }
332
340
}
333
341
334
342
function getEditForBase ( baseRange : ModifiedBaseRange , state : ModifiedBaseRangeState ) : { edit : LineRangeEdit | undefined ; effectiveState : ModifiedBaseRangeState } {
0 commit comments